/* Generated automatically by the program `genemit'
from the machine description file `md'.  */

#define IN_TARGET_CODE 1
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "backend.h"
#include "predict.h"
#include "tree.h"
#include "rtl.h"
#include "alias.h"
#include "varasm.h"
#include "stor-layout.h"
#include "calls.h"
#include "memmodel.h"
#include "tm_p.h"
#include "flags.h"
#include "insn-config.h"
#include "expmed.h"
#include "dojump.h"
#include "explow.h"
#include "emit-rtl.h"
#include "stmt.h"
#include "expr.h"
#include "insn-codes.h"
#include "optabs.h"
#include "dfp.h"
#include "output.h"
#include "recog.h"
#include "df.h"
#include "resource.h"
#include "reload.h"
#include "diagnostic-core.h"
#include "regs.h"
#include "tm-constrs.h"
#include "ggc.h"
#include "target.h"

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1685 */
rtx
gen_x86_sahf_1 (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (1,
		operand0),
	26));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3149 */
rtx
gen_insvhi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_ZERO_EXTRACT (HImode,
	operand0,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3149 */
rtx
gen_insvsi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_ZERO_EXTRACT (SImode,
	operand0,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3149 */
rtx
gen_insvdi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_ZERO_EXTRACT (DImode,
	operand0,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4198 */
rtx
gen_zero_extendqidi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4198 */
rtx
gen_zero_extendhidi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4224 */
rtx
gen_zero_extendqisi2_and (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (SImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4224 */
rtx
gen_zero_extendhisi2_and (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (SImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4279 */
rtx
gen_zero_extendqihi2_and (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (HImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4370 */
rtx
gen_extendsidi2_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (DImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4477 */
rtx
gen_extendqidi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4477 */
rtx
gen_extendhidi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4486 */
rtx
gen_extendhisi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4544 */
rtx
gen_extendqisi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4561 */
rtx
gen_extendqihi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4834 */
rtx
gen_truncdfsf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_TRUNCATE (SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4962 */
rtx
gen_truncxfsf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_TRUNCATE (SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4962 */
rtx
gen_truncxfdf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_TRUNCATE (DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5050 */
rtx
gen_fix_trunchfsi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5050 */
rtx
gen_fixuns_trunchfsi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5050 */
rtx
gen_fix_trunchfdi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5050 */
rtx
gen_fixuns_trunchfdi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5115 */
rtx
gen_fixuns_truncsfdi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5115 */
rtx
gen_fixuns_truncdfdi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5157 */
rtx
gen_fixuns_truncsfsi2_avx512f (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5157 */
rtx
gen_fixuns_truncdfsi2_avx512f (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5227 */
rtx
gen_fix_truncsfsi_sse (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5227 */
rtx
gen_fix_truncsfdi_sse (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5227 */
rtx
gen_fix_truncdfsi_sse (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5227 */
rtx
gen_fix_truncdfdi_sse (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5256 */
rtx
gen_fix_trunchi_i387_fisttp (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_FIX (HImode,
	operand1)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (XFmode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5256 */
rtx
gen_fix_truncsi_i387_fisttp (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_FIX (SImode,
	operand1)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (XFmode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5256 */
rtx
gen_fix_truncdi_i387_fisttp (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_FIX (DImode,
	operand1)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (XFmode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5300 */
rtx
gen_fix_truncdi_i387 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_FIX (DImode,
	operand1)),
		gen_rtx_USE (VOIDmode,
	operand2),
		gen_rtx_USE (VOIDmode,
	operand3),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (XFmode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5314 */
rtx
gen_fix_trunchi_i387 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_FIX (HImode,
	operand1)),
		gen_rtx_USE (VOIDmode,
	operand2),
		gen_rtx_USE (VOIDmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5314 */
rtx
gen_fix_truncsi_i387 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_FIX (SImode,
	operand1)),
		gen_rtx_USE (VOIDmode,
	operand2),
		gen_rtx_USE (VOIDmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5327 */
rtx
gen_x86_fnstcw_1 (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (1,
		const0_rtx),
	29));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5344 */
rtx
gen_floathisf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5344 */
rtx
gen_floathidf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5344 */
rtx
gen_floathixf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (XFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5356 */
rtx
gen_floatsixf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (XFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5356 */
rtx
gen_floatdixf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (XFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5417 */
rtx
gen_floatsihf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5417 */
rtx
gen_floatunssihf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5417 */
rtx
gen_floatdihf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5417 */
rtx
gen_floatunsdihf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5484 */
rtx
gen_floatdisf2_i387_with_xmm (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_FLOAT (SFmode,
	operand1)),
		gen_rtx_CLOBBER (VOIDmode,
	operand2),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4SImode)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4SImode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5484 */
rtx
gen_floatdidf2_i387_with_xmm (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_FLOAT (DFmode,
	operand1)),
		gen_rtx_CLOBBER (VOIDmode,
	operand2),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4SImode)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4SImode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5484 */
rtx
gen_floatdixf2_i387_with_xmm (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_FLOAT (XFmode,
	operand1)),
		gen_rtx_CLOBBER (VOIDmode,
	operand2),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4SImode)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4SImode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5576 */
rtx
gen_floatunssisf2_i387_with_xmm (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (SFmode,
	operand1)),
		gen_rtx_CLOBBER (VOIDmode,
	operand2),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (DImode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5576 */
rtx
gen_floatunssidf2_i387_with_xmm (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (DFmode,
	operand1)),
		gen_rtx_CLOBBER (VOIDmode,
	operand2),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (DImode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5576 */
rtx
gen_floatunssixf2_i387_with_xmm (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (XFmode,
	operand1)),
		gen_rtx_CLOBBER (VOIDmode,
	operand2),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (DImode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5806 */
rtx
gen_addsi_1_zext (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_PLUS (SImode,
	operand1,
	operand2))),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6494 */
rtx
gen_addvqi4_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_PLUS (HImode,
	gen_rtx_SIGN_EXTEND (HImode,
	operand1),
	operand3),
	gen_rtx_SIGN_EXTEND (HImode,
	gen_rtx_PLUS (QImode,
	copy_rtx (operand1),
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (QImode,
	copy_rtx (operand1),
	copy_rtx (operand2)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6494 */
rtx
gen_addvhi4_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_PLUS (SImode,
	gen_rtx_SIGN_EXTEND (SImode,
	operand1),
	operand3),
	gen_rtx_SIGN_EXTEND (SImode,
	gen_rtx_PLUS (HImode,
	copy_rtx (operand1),
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (HImode,
	copy_rtx (operand1),
	copy_rtx (operand2)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6494 */
rtx
gen_addvsi4_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_PLUS (DImode,
	gen_rtx_SIGN_EXTEND (DImode,
	operand1),
	operand3),
	gen_rtx_SIGN_EXTEND (DImode,
	gen_rtx_PLUS (SImode,
	copy_rtx (operand1),
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	copy_rtx (operand1),
	copy_rtx (operand2)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6494 */
rtx
gen_addvdi4_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_PLUS (TImode,
	gen_rtx_SIGN_EXTEND (TImode,
	operand1),
	operand3),
	gen_rtx_SIGN_EXTEND (TImode,
	gen_rtx_PLUS (DImode,
	copy_rtx (operand1),
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	copy_rtx (operand1),
	copy_rtx (operand2)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7038 */
rtx
gen_subvqi4_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_MINUS (HImode,
	gen_rtx_SIGN_EXTEND (HImode,
	operand1),
	operand3),
	gen_rtx_SIGN_EXTEND (HImode,
	gen_rtx_MINUS (QImode,
	copy_rtx (operand1),
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (QImode,
	copy_rtx (operand1),
	copy_rtx (operand2)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7038 */
rtx
gen_subvhi4_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_MINUS (SImode,
	gen_rtx_SIGN_EXTEND (SImode,
	operand1),
	operand3),
	gen_rtx_SIGN_EXTEND (SImode,
	gen_rtx_MINUS (HImode,
	copy_rtx (operand1),
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (HImode,
	copy_rtx (operand1),
	copy_rtx (operand2)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7038 */
rtx
gen_subvsi4_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_MINUS (DImode,
	gen_rtx_SIGN_EXTEND (DImode,
	operand1),
	operand3),
	gen_rtx_SIGN_EXTEND (DImode,
	gen_rtx_MINUS (SImode,
	copy_rtx (operand1),
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (SImode,
	copy_rtx (operand1),
	copy_rtx (operand2)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7038 */
rtx
gen_subvdi4_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_MINUS (TImode,
	gen_rtx_SIGN_EXTEND (TImode,
	operand1),
	operand3),
	gen_rtx_SIGN_EXTEND (TImode,
	gen_rtx_MINUS (DImode,
	copy_rtx (operand1),
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (DImode,
	copy_rtx (operand1),
	copy_rtx (operand2)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7325 */
rtx
gen_addqi3_carry (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (QImode,
	gen_rtx_PLUS (QImode,
	gen_rtx_fmt_ee (GET_CODE (operand4), QImode,
		operand3,
		const0_rtx),
	operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7325 */
rtx
gen_addhi3_carry (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (HImode,
	gen_rtx_PLUS (HImode,
	gen_rtx_fmt_ee (GET_CODE (operand4), HImode,
		operand3,
		const0_rtx),
	operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7325 */
rtx
gen_addsi3_carry (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_fmt_ee (GET_CODE (operand4), SImode,
		operand3,
		const0_rtx),
	operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7325 */
rtx
gen_adddi3_carry (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_fmt_ee (GET_CODE (operand4), DImode,
		operand3,
		const0_rtx),
	operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7415 */
rtx
gen_addcarrysi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_fmt_ee (GET_CODE (operand5), SImode,
		operand3,
		const0_rtx),
	operand1),
	operand2)),
	gen_rtx_PLUS (DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	copy_rtx (operand2)),
	gen_rtx_fmt_ee (GET_CODE (operand4), DImode,
		copy_rtx (operand3),
		const0_rtx)))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_fmt_ee (GET_CODE (operand5), GET_MODE (operand5),
		copy_rtx (operand3),
		const0_rtx),
	copy_rtx (operand1)),
	copy_rtx (operand2)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7415 */
rtx
gen_addcarrydi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTEND (TImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_fmt_ee (GET_CODE (operand5), DImode,
		operand3,
		const0_rtx),
	operand1),
	operand2)),
	gen_rtx_PLUS (TImode,
	gen_rtx_ZERO_EXTEND (TImode,
	copy_rtx (operand2)),
	gen_rtx_fmt_ee (GET_CODE (operand4), TImode,
		copy_rtx (operand3),
		const0_rtx)))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_fmt_ee (GET_CODE (operand5), GET_MODE (operand5),
		copy_rtx (operand3),
		const0_rtx),
	copy_rtx (operand1)),
	copy_rtx (operand2)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7495 */
rtx
gen_subqi3_carry (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (QImode,
	gen_rtx_MINUS (QImode,
	operand1,
	gen_rtx_fmt_ee (GET_CODE (operand4), QImode,
		operand3,
		const0_rtx)),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7495 */
rtx
gen_subhi3_carry (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (HImode,
	gen_rtx_MINUS (HImode,
	operand1,
	gen_rtx_fmt_ee (GET_CODE (operand4), HImode,
		operand3,
		const0_rtx)),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7495 */
rtx
gen_subsi3_carry (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (SImode,
	gen_rtx_MINUS (SImode,
	operand1,
	gen_rtx_fmt_ee (GET_CODE (operand4), SImode,
		operand3,
		const0_rtx)),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7495 */
rtx
gen_subdi3_carry (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (DImode,
	gen_rtx_MINUS (DImode,
	operand1,
	gen_rtx_fmt_ee (GET_CODE (operand4), DImode,
		operand3,
		const0_rtx)),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7586 */
rtx
gen_subsi3_carry_ccc (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1),
	gen_rtx_PLUS (DImode,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	gen_rtx_ZERO_EXTEND (DImode,
	operand2)))),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7586 */
rtx
gen_subdi3_carry_ccc (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTEND (TImode,
	operand1),
	gen_rtx_PLUS (TImode,
	gen_rtx_LTU (TImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	gen_rtx_ZERO_EXTEND (TImode,
	operand2)))),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (DImode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7620 */
rtx
gen_subsi3_carry_ccgz (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGZmode,
	17),
	gen_rtx_UNSPEC (CCGZmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	40)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7620 */
rtx
gen_subdi3_carry_ccgz (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGZmode,
	17),
	gen_rtx_UNSPEC (CCGZmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	40)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (DImode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7632 */
rtx
gen_subborrowsi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1),
	gen_rtx_PLUS (DImode,
	gen_rtx_fmt_ee (GET_CODE (operand4), DImode,
		operand3,
		const0_rtx),
	gen_rtx_ZERO_EXTEND (DImode,
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (SImode,
	gen_rtx_MINUS (SImode,
	copy_rtx (operand1),
	gen_rtx_fmt_ee (GET_CODE (operand5), SImode,
		copy_rtx (operand3),
		const0_rtx)),
	copy_rtx (operand2)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7632 */
rtx
gen_subborrowdi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTEND (TImode,
	operand1),
	gen_rtx_PLUS (TImode,
	gen_rtx_fmt_ee (GET_CODE (operand4), TImode,
		operand3,
		const0_rtx),
	gen_rtx_ZERO_EXTEND (TImode,
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (DImode,
	gen_rtx_MINUS (DImode,
	copy_rtx (operand1),
	gen_rtx_fmt_ee (GET_CODE (operand5), DImode,
		copy_rtx (operand3),
		const0_rtx)),
	copy_rtx (operand2)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8559 */
rtx
gen_smulsi3_highpart (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_SMUL_HIGHPART (SImode,
	operand1,
	operand2)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8559 */
rtx
gen_umulsi3_highpart (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UMUL_HIGHPART (SImode,
	operand1,
	operand2)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8559 */
rtx
gen_smuldi3_highpart (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_SMUL_HIGHPART (DImode,
	operand1,
	operand2)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (DImode)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8559 */
rtx
gen_umuldi3_highpart (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UMUL_HIGHPART (DImode,
	operand1,
	operand2)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (DImode)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8855 */
rtx
gen_divmodsi4_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_DIV (SImode,
	operand2,
	operand3)),
		gen_rtx_SET (operand1,
	gen_rtx_MOD (SImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	33),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8855 */
rtx
gen_divmoddi4_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_DIV (DImode,
	operand2,
	operand3)),
		gen_rtx_SET (operand1,
	gen_rtx_MOD (DImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	33),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8890 */
rtx
gen_udivmodsi4_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_UDIV (SImode,
	operand2,
	operand3)),
		gen_rtx_SET (operand1,
	gen_rtx_UMOD (SImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	33),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8890 */
rtx
gen_udivmoddi4_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_UDIV (DImode,
	operand2,
	operand3)),
		gen_rtx_SET (operand1,
	gen_rtx_UMOD (DImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	33),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8912 */
rtx
gen_divmodsi4_zext_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_DIV (SImode,
	operand2,
	operand3))),
		gen_rtx_SET (operand1,
	gen_rtx_MOD (SImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	33),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8948 */
rtx
gen_udivmodsi4_zext_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_UDIV (SImode,
	operand2,
	operand3))),
		gen_rtx_SET (operand1,
	gen_rtx_UMOD (SImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	33),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8971 */
rtx
gen_divmodsi4_zext_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand1,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_MOD (SImode,
	operand2,
	operand3))),
		gen_rtx_SET (operand0,
	gen_rtx_DIV (SImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	33),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9008 */
rtx
gen_udivmodsi4_zext_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand1,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_UMOD (SImode,
	operand2,
	operand3))),
		gen_rtx_SET (operand0,
	gen_rtx_UDIV (SImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	33),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9426 */
rtx
gen_divmodhiqi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (HImode,
	gen_rtx_ASHIFT (HImode,
	gen_rtx_ZERO_EXTEND (HImode,
	gen_rtx_TRUNCATE (QImode,
	gen_rtx_MOD (HImode,
	operand1,
	gen_rtx_SIGN_EXTEND (HImode,
	operand2)))),
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_ZERO_EXTEND (HImode,
	gen_rtx_TRUNCATE (QImode,
	gen_rtx_DIV (HImode,
	copy_rtx (operand1),
	gen_rtx_SIGN_EXTEND (HImode,
	copy_rtx (operand2))))))),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9426 */
rtx
gen_udivmodhiqi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (HImode,
	gen_rtx_ASHIFT (HImode,
	gen_rtx_ZERO_EXTEND (HImode,
	gen_rtx_TRUNCATE (QImode,
	gen_rtx_MOD (HImode,
	operand1,
	gen_rtx_ZERO_EXTEND (HImode,
	operand2)))),
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_ZERO_EXTEND (HImode,
	gen_rtx_TRUNCATE (QImode,
	gen_rtx_DIV (HImode,
	copy_rtx (operand1),
	gen_rtx_ZERO_EXTEND (HImode,
	copy_rtx (operand2))))))),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11794 */
rtx
gen_x86_64_shld (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (DImode,
	gen_rtx_ASHIFT (DImode,
	copy_rtx (operand0),
	gen_rtx_AND (QImode,
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (63)])),
	gen_rtx_SUBREG (DImode,
	gen_rtx_LSHIFTRT (TImode,
	gen_rtx_ZERO_EXTEND (TImode,
	operand1),
	gen_rtx_MINUS (QImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (64)],
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	const_int_rtx[MAX_SAVED_CONST_INT + (63)]))),
	0))),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11857 */
rtx
gen_x86_shld (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (SImode,
	gen_rtx_ASHIFT (SImode,
	copy_rtx (operand0),
	gen_rtx_AND (QImode,
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (31)])),
	gen_rtx_SUBREG (SImode,
	gen_rtx_LSHIFTRT (DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1),
	gen_rtx_MINUS (QImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (32)],
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	const_int_rtx[MAX_SAVED_CONST_INT + (31)]))),
	0))),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12717 */
rtx
gen_x86_64_shrd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (DImode,
	gen_rtx_LSHIFTRT (DImode,
	copy_rtx (operand0),
	gen_rtx_AND (QImode,
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (63)])),
	gen_rtx_SUBREG (DImode,
	gen_rtx_ASHIFT (TImode,
	gen_rtx_ZERO_EXTEND (TImode,
	operand1),
	gen_rtx_MINUS (QImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (64)],
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	const_int_rtx[MAX_SAVED_CONST_INT + (63)]))),
	0))),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12780 */
rtx
gen_x86_shrd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (SImode,
	gen_rtx_LSHIFTRT (SImode,
	copy_rtx (operand0),
	gen_rtx_AND (QImode,
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (31)])),
	gen_rtx_SUBREG (SImode,
	gen_rtx_ASHIFT (DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1),
	gen_rtx_MINUS (QImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (32)],
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	const_int_rtx[MAX_SAVED_CONST_INT + (31)]))),
	0))),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12848 */
rtx
gen_ashrsi3_cvt (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12848 */
rtx
gen_ashrdi3_cvt (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13442 */
rtx
gen_ix86_rotldi3_doubleword (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_ROTATE (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13442 */
rtx
gen_ix86_rotlti3_doubleword (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_ROTATE (TImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (DImode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13479 */
rtx
gen_ix86_rotrdi3_doubleword (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13479 */
rtx
gen_ix86_rotrti3_doubleword (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (TImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (DImode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14483 */
rtx
gen_setcc_sf_sse (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand3), SFmode,
		operand1,
		operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14483 */
rtx
gen_setcc_df_sse (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand3), DFmode,
		operand1,
		operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14498 */
rtx
gen_setcc_hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14638 */
rtx
gen_jump (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (pc_rtx,
	gen_rtx_LABEL_REF (VOIDmode,
	operand0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15352 */
rtx
gen_blockage (void)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15378 */
rtx
gen_prologue_use (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	5);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15423 */
rtx
gen_simple_return_internal (void)
{
  return simple_return_rtx;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15432 */
rtx
gen_interrupt_return (void)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		simple_return_rtx,
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	92)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15443 */
rtx
gen_simple_return_internal_long (void)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		simple_return_rtx,
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	30)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15454 */
rtx
gen_simple_return_pop_internal (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		simple_return_rtx,
		gen_rtx_USE (VOIDmode,
	operand0)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15484 */
rtx
gen_nop (void)
{
  return const0_rtx;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15493 */
rtx
gen_nops (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	8);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15515 */
rtx
gen_pad (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	4);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15578 */
rtx
gen_set_got_rex64 (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		const0_rtx),
	14));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15587 */
rtx
gen_set_rip_rex64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		gen_rtx_LABEL_REF (VOIDmode,
	operand1)),
	15));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15596 */
rtx
gen_set_got_offset_rex64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		gen_rtx_LABEL_REF (VOIDmode,
	operand1)),
	16));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15640 */
rtx
gen_eh_return_internal (void)
{
  return gen_rtx_EH_RETURN (VOIDmode);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15684 */
rtx
gen_split_stack_return (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	6);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15758 */
rtx
gen_ffssi2_no_cmove (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_FFS (SImode,
	operand1)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15843 */
rtx
gen_ctzsi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_CTZ (SImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15843 */
rtx
gen_ctzdi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_CTZ (DImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15950 */
rtx
gen_bsr_rex64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	operand1,
	const0_rtx)),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (DImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (63)],
	gen_rtx_CLZ (DImode,
	copy_rtx (operand1))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15964 */
rtx
gen_bsr_rex64_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (DImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (63)],
	gen_rtx_CLZ (DImode,
	operand1))),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15976 */
rtx
gen_bsr_rex64_1_zext (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_MINUS (SImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (63)],
	gen_rtx_SUBREG (SImode,
	gen_rtx_CLZ (DImode,
	operand1),
	0)))),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15991 */
rtx
gen_bsr (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	operand1,
	const0_rtx)),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (SImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (31)],
	gen_rtx_CLZ (SImode,
	copy_rtx (operand1))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16005 */
rtx
gen_bsr_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (SImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (31)],
	gen_rtx_CLZ (SImode,
	operand1))),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16017 */
rtx
gen_bsr_zext_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_MINUS (SImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (31)],
	gen_rtx_CLZ (SImode,
	operand1)))),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16215 */
rtx
gen_clzsi2_lzcnt (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_CLZ (SImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16215 */
rtx
gen_clzdi2_lzcnt (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_CLZ (DImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16308 */
rtx
gen_tzcnt_si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	88)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16308 */
rtx
gen_lzcnt_si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	87)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16308 */
rtx
gen_tzcnt_di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	88)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16308 */
rtx
gen_lzcnt_di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	87)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16346 */
rtx
gen_tzcnt_hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (1,
		operand1),
	88)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16346 */
rtx
gen_lzcnt_hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (1,
		operand1),
	87)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16360 */
rtx
gen_bmi_bextr_si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	89)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16360 */
rtx
gen_bmi_bextr_di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	89)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16595 */
rtx
gen_bmi2_pdep_si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	90));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16595 */
rtx
gen_bmi2_pdep_di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	90));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16606 */
rtx
gen_bmi2_pext_si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	91));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16606 */
rtx
gen_bmi2_pext_di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	91));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16618 */
rtx
gen_tbm_bextri_si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	operand2,
	operand3)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16618 */
rtx
gen_tbm_bextri_di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTRACT (DImode,
	operand1,
	operand2,
	operand3)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16755 */
rtx
gen_popcountsi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (SImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16755 */
rtx
gen_popcountdi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (DImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16875 */
rtx
gen_popcounthi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (HImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16979 */
rtx
gen_bswaphi_lowpart (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	gen_rtx_BSWAP (HImode,
	copy_rtx (operand0))),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17101 */
rtx
gen_parityhi2_cmp (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (1,
		operand0),
	28)),
		gen_rtx_CLOBBER (VOIDmode,
	copy_rtx (operand0))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17111 */
rtx
gen_parityqi2_cmp (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (1,
		operand0),
	28));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17770 */
rtx
gen_rcphf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HFmode,
	gen_rtvec (1,
		operand1),
	48));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17987 */
rtx
gen_truncxfsf2_i387_noop_unspec (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SFmode,
	gen_rtvec (1,
		operand1),
	32));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17987 */
rtx
gen_truncxfdf2_i387_noop_unspec (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DFmode,
	gen_rtvec (1,
		operand1),
	32));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17996 */
rtx
gen_sqrtxf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SQRT (XFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18040 */
rtx
gen_rsqrthf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HFmode,
	gen_rtvec (1,
		operand1),
	49));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18053 */
rtx
gen_sqrthf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SQRT (HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18145 */
rtx
gen_x86_fnstsw_1 (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (1,
		gen_rtx_REG (CCFPmode,
	18)),
	25));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18154 */
rtx
gen_fpremxf4_i387 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		operand2,
		operand3),
	77)),
		gen_rtx_SET (operand1,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		copy_rtx (operand2),
		copy_rtx (operand3)),
	78)),
		gen_rtx_SET (gen_rtx_REG (CCFPmode,
	18),
	gen_rtx_UNSPEC (CCFPmode,
	gen_rtvec (2,
		copy_rtx (operand2),
		copy_rtx (operand3)),
	81))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18229 */
rtx
gen_fprem1xf4_i387 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		operand2,
		operand3),
	79)),
		gen_rtx_SET (operand1,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		copy_rtx (operand2),
		copy_rtx (operand3)),
	80)),
		gen_rtx_SET (gen_rtx_REG (CCFPmode,
	18),
	gen_rtx_UNSPEC (CCFPmode,
	gen_rtvec (2,
		copy_rtx (operand2),
		copy_rtx (operand3)),
	81))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18313 */
rtx
gen_sinxf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		operand1),
	55));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18313 */
rtx
gen_cosxf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		operand1),
	56));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18342 */
rtx
gen_sincosxf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		operand2),
	71)),
		gen_rtx_SET (operand1,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		copy_rtx (operand2)),
	72))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18375 */
rtx
gen_fptanxf4_i387 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	operand3),
		gen_rtx_SET (operand1,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		operand2),
	63))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18417 */
rtx
gen_atan2xf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		operand2,
		operand1),
	57)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (XFmode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18720 */
rtx
gen_fyl2xxf3_i387 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	58)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (XFmode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18817 */
rtx
gen_fyl2xp1xf3_i387 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	59)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (XFmode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18857 */
rtx
gen_fxtractxf3_i387 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		operand2),
	73)),
		gen_rtx_SET (operand1,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		copy_rtx (operand2)),
	74))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18950 */
rtx
gen_fscalexf4_i387 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		operand2,
		operand3),
	75)),
		gen_rtx_SET (operand1,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		copy_rtx (operand2),
		copy_rtx (operand3)),
	76))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19126 */
rtx
gen_avx512f_scalefsf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19126 */
rtx
gen_avx512f_scalefdf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19244 */
rtx
gen_sse4_1_roundhf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19244 */
rtx
gen_sse4_1_roundsf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19244 */
rtx
gen_sse4_1_rounddf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19272 */
rtx
gen_rintxf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		operand1),
	60));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19394 */
rtx
gen_lrintxfdi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	61)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (XFmode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19404 */
rtx
gen_lrintxfhi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (1,
		operand1),
	61));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19404 */
rtx
gen_lrintxfsi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	61));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19480 */
rtx
gen_frndintxf2_roundeven (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		operand1),
	65)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19480 */
rtx
gen_frndintxf2_floor (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		operand1),
	66)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19480 */
rtx
gen_frndintxf2_ceil (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		operand1),
	67)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19480 */
rtx
gen_frndintxf2_trunc (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		operand1),
	68)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19505 */
rtx
gen_frndintxf2_roundeven_i387 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		operand1),
	65)),
		gen_rtx_USE (VOIDmode,
	operand2),
		gen_rtx_USE (VOIDmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19505 */
rtx
gen_frndintxf2_floor_i387 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		operand1),
	66)),
		gen_rtx_USE (VOIDmode,
	operand2),
		gen_rtx_USE (VOIDmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19505 */
rtx
gen_frndintxf2_ceil_i387 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		operand1),
	67)),
		gen_rtx_USE (VOIDmode,
	operand2),
		gen_rtx_USE (VOIDmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19505 */
rtx
gen_frndintxf2_trunc_i387 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		operand1),
	68)),
		gen_rtx_USE (VOIDmode,
	operand2),
		gen_rtx_USE (VOIDmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19622 */
rtx
gen_fistdi2_floor (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	69)),
		gen_rtx_USE (VOIDmode,
	operand2),
		gen_rtx_USE (VOIDmode,
	operand3),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (XFmode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19622 */
rtx
gen_fistdi2_ceil (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	70)),
		gen_rtx_USE (VOIDmode,
	operand2),
		gen_rtx_USE (VOIDmode,
	operand3),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (XFmode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19636 */
rtx
gen_fisthi2_floor (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (1,
		operand1),
	69)),
		gen_rtx_USE (VOIDmode,
	operand2),
		gen_rtx_USE (VOIDmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19636 */
rtx
gen_fisthi2_ceil (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (1,
		operand1),
	70)),
		gen_rtx_USE (VOIDmode,
	operand2),
		gen_rtx_USE (VOIDmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19636 */
rtx
gen_fistsi2_floor (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	69)),
		gen_rtx_USE (VOIDmode,
	operand2),
		gen_rtx_USE (VOIDmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19636 */
rtx
gen_fistsi2_ceil (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	70)),
		gen_rtx_USE (VOIDmode,
	operand2),
		gen_rtx_USE (VOIDmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19686 */
rtx
gen_fxamsf2_i387 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (1,
		operand1),
	64));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19686 */
rtx
gen_fxamdf2_i387 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (1,
		operand1),
	64));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19686 */
rtx
gen_fxamxf2_i387 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (1,
		operand1),
	64));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19736 */
rtx
gen_movmsk_df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19787 */
rtx
gen_cld (void)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	7);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20773 */
rtx
gen_movhf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	43));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20944 */
rtx
gen_smaxsf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SMAX (SFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20944 */
rtx
gen_sminsf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SMIN (SFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20944 */
rtx
gen_smaxdf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SMAX (DFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20944 */
rtx
gen_smindf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SMIN (DFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20958 */
rtx
gen_smaxhf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SMAX (HFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20958 */
rtx
gen_sminhf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SMIN (HFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21320 */
rtx
gen_pro_epilogue_adjust_stack_add_si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21320 */
rtx
gen_pro_epilogue_adjust_stack_add_di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21363 */
rtx
gen_pro_epilogue_adjust_stack_sub_si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21363 */
rtx
gen_pro_epilogue_adjust_stack_sub_di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21374 */
rtx
gen_allocate_stack_worker_probe_si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (1,
		operand1),
	2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21374 */
rtx
gen_allocate_stack_worker_probe_di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		operand1),
	2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21425 */
rtx
gen_probe_stack_1_si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	18)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21425 */
rtx
gen_probe_stack_1_di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	18)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21436 */
rtx
gen_adjust_stack_and_probe_si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (1,
		operand1),
	3)),
		gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_MINUS (SImode,
	gen_rtx_REG (SImode,
	7),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21436 */
rtx
gen_adjust_stack_and_probe_di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		operand1),
	3)),
		gen_rtx_SET (gen_rtx_REG (DImode,
	7),
	gen_rtx_MINUS (DImode,
	gen_rtx_REG (DImode,
	7),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21448 */
rtx
gen_probe_stack_range_si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	3)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21448 */
rtx
gen_probe_stack_range_di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	3)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22804 */
rtx
gen_trap (void)
{
  return gen_rtx_TRAP_IF (VOIDmode,
	const1_rtx,
	const_int_rtx[MAX_SAVED_CONST_INT + (6)]);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22816 */
rtx
gen_ud2 (void)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	0);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22930 */
rtx
gen_stack_protect_set_1_si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	83)),
		gen_rtx_SET (gen_rtx_SCRATCH (SImode),
	const0_rtx),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22930 */
rtx
gen_stack_protect_set_1_di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	83)),
		gen_rtx_SET (gen_rtx_SCRATCH (DImode),
	const0_rtx),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23054 */
rtx
gen_stack_protect_test_1_si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (CCZmode,
	gen_rtvec (2,
		operand1,
		operand2),
	84)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23054 */
rtx
gen_stack_protect_test_1_di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (CCZmode,
	gen_rtvec (2,
		operand1,
		operand2),
	84)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (DImode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23067 */
rtx
gen_sse4_2_crc32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	86));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23067 */
rtx
gen_sse4_2_crc32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	86));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23067 */
rtx
gen_sse4_2_crc32si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	86));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23088 */
rtx
gen_sse4_2_crc32di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	86));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23101 */
rtx
gen_rdpmc (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		operand1),
	11));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23110 */
rtx
gen_rdpmc_rex64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		operand2),
	11)),
		gen_rtx_SET (operand1,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		copy_rtx (operand2)),
	11))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23121 */
rtx
gen_rdtsc (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		const0_rtx),
	9));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23129 */
rtx
gen_rdtsc_rex64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		const0_rtx),
	9)),
		gen_rtx_SET (operand1,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		const0_rtx),
	9))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23139 */
rtx
gen_rdtscp (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		const0_rtx),
	10)),
		gen_rtx_SET (operand1,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (1,
		const0_rtx),
	10))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23149 */
rtx
gen_rdtscp_rex64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		const0_rtx),
	10)),
		gen_rtx_SET (operand1,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		const0_rtx),
	10)),
		gen_rtx_SET (operand2,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (1,
		const0_rtx),
	10))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23167 */
rtx
gen_fxsave (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (BLKmode,
	gen_rtvec (1,
		const0_rtx),
	20));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23177 */
rtx
gen_fxsave64 (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (BLKmode,
	gen_rtvec (1,
		const0_rtx),
	22));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23187 */
rtx
gen_fxrstor (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	21);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23197 */
rtx
gen_fxrstor64 (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	23);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23243 */
rtx
gen_xsave (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (BLKmode,
	gen_rtvec (1,
		operand1),
	24));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23243 */
rtx
gen_xsaveopt (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (BLKmode,
	gen_rtvec (1,
		operand1),
	28));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23243 */
rtx
gen_xsavec (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (BLKmode,
	gen_rtvec (1,
		operand1),
	34));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23243 */
rtx
gen_xsaves (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (BLKmode,
	gen_rtvec (1,
		operand1),
	30));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23255 */
rtx
gen_xsave_rex64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (BLKmode,
	gen_rtvec (2,
		operand1,
		operand2),
	24));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23255 */
rtx
gen_xsaveopt_rex64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (BLKmode,
	gen_rtvec (2,
		operand1,
		operand2),
	28));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23255 */
rtx
gen_xsavec_rex64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (BLKmode,
	gen_rtvec (2,
		operand1,
		operand2),
	34));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23255 */
rtx
gen_xsaves_rex64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (BLKmode,
	gen_rtvec (2,
		operand1,
		operand2),
	30));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23268 */
rtx
gen_xsave64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (BLKmode,
	gen_rtvec (2,
		operand1,
		operand2),
	26));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23268 */
rtx
gen_xsaveopt64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (BLKmode,
	gen_rtvec (2,
		operand1,
		operand2),
	29));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23268 */
rtx
gen_xsavec64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (BLKmode,
	gen_rtvec (2,
		operand1,
		operand2),
	35));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23268 */
rtx
gen_xsaves64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (BLKmode,
	gen_rtvec (2,
		operand1,
		operand2),
	32));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23281 */
rtx
gen_xrstor (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (BLKmode,
	gen_rtvec (2,
		operand0,
		operand1),
	25);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23281 */
rtx
gen_xrstors (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (BLKmode,
	gen_rtvec (2,
		operand0,
		operand1),
	31);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23293 */
rtx
gen_xrstor_rex64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (BLKmode,
	gen_rtvec (3,
		operand0,
		operand1,
		operand2),
	25);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23293 */
rtx
gen_xrstors_rex64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (BLKmode,
	gen_rtvec (3,
		operand0,
		operand1,
		operand2),
	31);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23306 */
rtx
gen_xrstor64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (BLKmode,
	gen_rtvec (3,
		operand0,
		operand1,
		operand2),
	27);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23306 */
rtx
gen_xrstors64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (BLKmode,
	gen_rtvec (3,
		operand0,
		operand1,
		operand2),
	33);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23319 */
rtx
gen_xsetbv (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (2,
		operand0,
		operand1),
	37);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23328 */
rtx
gen_xsetbv_rex64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (3,
		operand0,
		operand1,
		operand2),
	37);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23338 */
rtx
gen_xgetbv (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		operand1),
	36));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23346 */
rtx
gen_xgetbv_rex64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		operand2),
	36)),
		gen_rtx_SET (operand1,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		copy_rtx (operand2)),
	36))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23364 */
rtx
gen_fnstenv (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (9,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (BLKmode,
	gen_rtvec (1,
		const0_rtx),
	40)),
		gen_hard_reg_clobber (XFmode, 8),
		gen_hard_reg_clobber (XFmode, 9),
		gen_hard_reg_clobber (XFmode, 10),
		gen_hard_reg_clobber (XFmode, 11),
		gen_hard_reg_clobber (XFmode, 12),
		gen_hard_reg_clobber (XFmode, 13),
		gen_hard_reg_clobber (XFmode, 14),
		gen_hard_reg_clobber (XFmode, 15)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23382 */
rtx
gen_fldenv (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (9,
		gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	41),
		gen_hard_reg_clobber (XFmode, 8),
		gen_hard_reg_clobber (XFmode, 9),
		gen_hard_reg_clobber (XFmode, 10),
		gen_hard_reg_clobber (XFmode, 11),
		gen_hard_reg_clobber (XFmode, 12),
		gen_hard_reg_clobber (XFmode, 13),
		gen_hard_reg_clobber (XFmode, 14),
		gen_hard_reg_clobber (XFmode, 15)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23400 */
rtx
gen_fnstsw (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (1,
		const0_rtx),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23410 */
rtx
gen_fnclex (void)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	43);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23424 */
rtx
gen_lwp_llwpcbsi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	12);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23424 */
rtx
gen_lwp_llwpcbdi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	12);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23433 */
rtx
gen_lwp_slwpcbsi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (1,
		const0_rtx),
	13));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23433 */
rtx
gen_lwp_slwpcbdi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		const0_rtx),
	13));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23442 */
rtx
gen_lwp_lwpvalsi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (3,
		operand0,
		operand1,
		operand2),
	14);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23442 */
rtx
gen_lwp_lwpvaldi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (3,
		operand0,
		operand1,
		operand2),
	14);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23454 */
rtx
gen_lwp_lwpinssi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCCmode,
	gen_rtvec (3,
		operand0,
		operand1,
		operand2),
	15));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23454 */
rtx
gen_lwp_lwpinsdi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCCmode,
	gen_rtvec (3,
		operand0,
		operand1,
		operand2),
	15));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23481 */
rtx
gen_rdfsbasesi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (1,
		const0_rtx),
	16));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23481 */
rtx
gen_rdgsbasesi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (1,
		const0_rtx),
	17));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23481 */
rtx
gen_rdfsbasedi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		const0_rtx),
	16));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23481 */
rtx
gen_rdgsbasedi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		const0_rtx),
	17));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23489 */
rtx
gen_wrfsbasesi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	18);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23489 */
rtx
gen_wrgsbasesi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	19);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23489 */
rtx
gen_wrfsbasedi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	18);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23489 */
rtx
gen_wrgsbasedi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	19);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23497 */
rtx
gen_ptwritesi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	78);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23497 */
rtx
gen_ptwritedi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	78);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23505 */
rtx
gen_rdrandhi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (1,
		const0_rtx),
	44)),
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCCmode,
	gen_rtvec (1,
		const0_rtx),
	44))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23505 */
rtx
gen_rdrandsi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (1,
		const0_rtx),
	44)),
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCCmode,
	gen_rtvec (1,
		const0_rtx),
	44))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23505 */
rtx
gen_rdranddi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		const0_rtx),
	44)),
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCCmode,
	gen_rtvec (1,
		const0_rtx),
	44))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23515 */
rtx
gen_rdseedhi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (1,
		const0_rtx),
	45)),
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCCmode,
	gen_rtvec (1,
		const0_rtx),
	45))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23515 */
rtx
gen_rdseedsi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (1,
		const0_rtx),
	45)),
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCCmode,
	gen_rtvec (1,
		const0_rtx),
	45))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23515 */
rtx
gen_rdseeddi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		const0_rtx),
	45)),
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCCmode,
	gen_rtvec (1,
		const0_rtx),
	45))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23545 */
rtx
gen_rdsspsi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (1,
		operand1),
	59));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23545 */
rtx
gen_rdsspdi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		operand1),
	59));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23554 */
rtx
gen_incsspsi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	60);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23554 */
rtx
gen_incsspdi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	60);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23562 */
rtx
gen_saveprevssp (void)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	61);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23569 */
rtx
gen_rstorssp (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	62);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23577 */
rtx
gen_wrsssi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (2,
		operand0,
		operand1),
	63);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23577 */
rtx
gen_wrssdi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (2,
		operand0,
		operand1),
	63);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23586 */
rtx
gen_wrusssi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (2,
		operand0,
		operand1),
	64);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23586 */
rtx
gen_wrussdi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (2,
		operand0,
		operand1),
	64);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23595 */
rtx
gen_setssbsy (void)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	65);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23602 */
rtx
gen_clrssbsy (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	66);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23610 */
rtx
gen_nop_endbr (void)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	58);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23643 */
rtx
gen_xbegin_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_NE (VOIDmode,
	gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	36),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand1),
	pc_rtx)),
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	46))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23656 */
rtx
gen_xend (void)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	47);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23663 */
rtx
gen_xabort (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	48);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23683 */
rtx
gen_xtest_1 (void)
{
  return gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (1,
		const0_rtx),
	49));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23691 */
rtx
gen_clwb (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	51);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23700 */
rtx
gen_clflushopt (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	52);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23710 */
rtx
gen_mwaitx (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (3,
		operand0,
		operand1,
		operand2),
	54);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23722 */
rtx
gen_monitorx_si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (3,
		operand0,
		operand1,
		operand2),
	53);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23722 */
rtx
gen_monitorx_di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (3,
		operand0,
		operand1,
		operand2),
	53);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23736 */
rtx
gen_clzero_si (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	55);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23736 */
rtx
gen_clzero_di (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	55);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23786 */
rtx
gen_rdpid (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (1,
		const0_rtx),
	57));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23793 */
rtx
gen_rdpid_rex64 (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		const0_rtx),
	57));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23802 */
rtx
gen_wbinvd (void)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	38);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23808 */
rtx
gen_wbnoinvd (void)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	39);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23816 */
rtx
gen_movdirisi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	93));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23816 */
rtx
gen_movdiridi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	93));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23824 */
rtx
gen_movdir64b_si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_MEM (XImode,
	operand0),
	gen_rtx_UNSPEC (XImode,
	gen_rtvec (1,
		operand1),
	94));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23824 */
rtx
gen_movdir64b_di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_MEM (XImode,
	operand0),
	gen_rtx_UNSPEC (XImode,
	gen_rtvec (1,
		operand1),
	94));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23836 */
rtx
gen_xsusldtrk (void)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	67);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23836 */
rtx
gen_xresldtrk (void)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	68);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23848 */
rtx
gen_enqcmd_si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (2,
		operand0,
		operand1),
	79));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23848 */
rtx
gen_enqcmds_si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (2,
		operand0,
		operand1),
	80));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23848 */
rtx
gen_enqcmd_di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (2,
		operand0,
		operand1),
	79));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23848 */
rtx
gen_enqcmds_di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (2,
		operand0,
		operand1),
	80));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23861 */
rtx
gen_clui (void)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	72);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23861 */
rtx
gen_stui (void)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	73);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23868 */
rtx
gen_testui (void)
{
  return gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCCmode,
	gen_rtvec (1,
		const0_rtx),
	74));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23876 */
rtx
gen_senduipi (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	75);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23887 */
rtx
gen_umwait (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	69));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23896 */
rtx
gen_umwait_rex64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCCmode,
	gen_rtvec (3,
		operand0,
		operand1,
		operand2),
	69));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23906 */
rtx
gen_umonitor_si (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	70);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23906 */
rtx
gen_umonitor_di (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	70);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23914 */
rtx
gen_tpause (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	71));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23923 */
rtx
gen_tpause_rex64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCCmode,
	gen_rtvec (3,
		operand0,
		operand1,
		operand2),
	71));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23933 */
rtx
gen_cldemote (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	76);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23941 */
rtx
gen_speculation_barrier (void)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	77);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23948 */
rtx
gen_serialize (void)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	81);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23955 */
rtx
gen_patchable_area (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (2,
		operand0,
		operand1),
	82);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23969 */
rtx
gen_hreset (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	83);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23999 */
rtx
gen_ldtilecfg (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	84);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:24009 */
rtx
gen_sttilecfg (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (XImode,
	gen_rtvec (1,
		const0_rtx),
	85));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:534 */
rtx
gen_sse_movntq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	96));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:783 */
rtx
gen_mmx_ieee_maxv2sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:783 */
rtx
gen_mmx_ieee_minv2sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:802 */
rtx
gen_mmx_rcpv2sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2SFmode,
	gen_rtvec (1,
		operand1),
	97));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:812 */
rtx
gen_mmx_rcpit1v2sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	98));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:823 */
rtx
gen_mmx_rcpit2v2sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	99));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:834 */
rtx
gen_sqrtv2sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SQRT (V2SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:848 */
rtx
gen_mmx_rsqrtv2sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2SFmode,
	gen_rtvec (1,
		operand1),
	100));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:858 */
rtx
gen_mmx_rsqit1v2sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	101));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:926 */
rtx
gen_mmx_hsubv2sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V2SFmode,
	gen_rtx_MINUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx)))),
	gen_rtx_MINUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1000 */
rtx
gen_vec_addsubv2sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2SFmode,
	gen_rtx_MINUS (V2SFmode,
	operand1,
	operand2),
	gen_rtx_PLUS (V2SFmode,
	operand1,
	operand2),
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1041 */
rtx
gen_mmx_gtv2sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_GT (V2SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1051 */
rtx
gen_mmx_gev2sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_GE (V2SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1119 */
rtx
gen_mmx_blendvps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1161 */
rtx
gen_andv2sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V2SFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1161 */
rtx
gen_iorv2sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IOR (V2SFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1161 */
rtx
gen_xorv2sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_XOR (V2SFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1225 */
rtx
gen_fmav2sf4 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V2SFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1241 */
rtx
gen_fmsv2sf4 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V2SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V2SFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1258 */
rtx
gen_fnmav2sf4 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V2SFmode,
	gen_rtx_NEG (V2SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1275 */
rtx
gen_fnmsv2sf4 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V2SFmode,
	gen_rtx_NEG (V2SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V2SFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1299 */
rtx
gen_mmx_fix_truncv2sfv2si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V2SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1320 */
rtx
gen_fixuns_truncv2sfv2si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V2SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1329 */
rtx
gen_mmx_floatv2siv2sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V2SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1348 */
rtx
gen_floatunsv2siv2sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V2SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1357 */
rtx
gen_mmx_pf2iw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V2SImode,
	gen_rtx_SS_TRUNCATE (V2HImode,
	gen_rtx_FIX (V2SImode,
	operand1))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1369 */
rtx
gen_mmx_pi2fw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V2SFmode,
	gen_rtx_SIGN_EXTEND (V2SImode,
	gen_rtx_TRUNCATE (V2HImode,
	operand1))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1387 */
rtx
gen_mmx_pswapdv2sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V2SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1609 */
rtx
gen_addv4hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V4HFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1609 */
rtx
gen_subv4hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (V4HFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1609 */
rtx
gen_mulv4hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MULT (V4HFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1609 */
rtx
gen_divv4hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_DIV (V4HFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1609 */
rtx
gen_addv2hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V2HFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1609 */
rtx
gen_subv2hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (V2HFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1609 */
rtx
gen_mulv2hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MULT (V2HFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1609 */
rtx
gen_divv2hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_DIV (V2HFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1647 */
rtx
gen_negv2qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_NEG (V2QImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1734 */
rtx
gen_addv4qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V4QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1734 */
rtx
gen_subv4qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (V4QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1734 */
rtx
gen_addv2hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V2HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1734 */
rtx
gen_subv2hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (V2HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1747 */
rtx
gen_addv2qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (V2QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1747 */
rtx
gen_subv2qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (V2QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1874 */
rtx
gen_mulv2hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MULT (V2HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1968 */
rtx
gen_smulv2hi3_highpart (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V2HImode,
	gen_rtx_LSHIFTRT (V2SImode,
	gen_rtx_MULT (V2SImode,
	gen_rtx_SIGN_EXTEND (V2SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V2SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (16)])));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1968 */
rtx
gen_umulv2hi3_highpart (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V2HImode,
	gen_rtx_LSHIFTRT (V2SImode,
	gen_rtx_MULT (V2SImode,
	gen_rtx_ZERO_EXTEND (V2SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V2SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (16)])));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2116 */
rtx
gen_smaxv8qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SMAX (V8QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2116 */
rtx
gen_sminv8qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SMIN (V8QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2116 */
rtx
gen_smaxv2si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SMAX (V2SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2116 */
rtx
gen_sminv2si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SMIN (V2SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2165 */
rtx
gen_smaxv4qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SMAX (V4QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2165 */
rtx
gen_sminv4qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SMIN (V4QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2165 */
rtx
gen_smaxv2qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SMAX (V2QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2165 */
rtx
gen_sminv2qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SMIN (V2QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2181 */
rtx
gen_smaxv2hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SMAX (V2HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2181 */
rtx
gen_sminv2hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SMIN (V2HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2194 */
rtx
gen_umaxv4hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UMAX (V4HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2194 */
rtx
gen_uminv4hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UMIN (V4HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2194 */
rtx
gen_umaxv2si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UMAX (V2SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2194 */
rtx
gen_uminv2si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UMIN (V2SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2243 */
rtx
gen_umaxv4qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UMAX (V4QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2243 */
rtx
gen_uminv4qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UMIN (V4QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2243 */
rtx
gen_umaxv2qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UMAX (V2QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2243 */
rtx
gen_uminv2qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UMIN (V2QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2256 */
rtx
gen_umaxv2hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UMAX (V2HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2256 */
rtx
gen_uminv2hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UMIN (V2HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2272 */
rtx
gen_ssse3_absv8qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ABS (V8QImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2272 */
rtx
gen_ssse3_absv4hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ABS (V4HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2272 */
rtx
gen_ssse3_absv2si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ABS (V2SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2293 */
rtx
gen_absv4qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ABS (V4QImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2293 */
rtx
gen_absv2qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ABS (V2QImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2293 */
rtx
gen_absv2hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ABS (V2HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2311 */
rtx
gen_mmx_ashrv4hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V4HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2311 */
rtx
gen_mmx_ashrv2si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V2SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2337 */
rtx
gen_mmx_ashlv4hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V4HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2337 */
rtx
gen_mmx_lshrv4hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V4HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2337 */
rtx
gen_mmx_ashlv2si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V2SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2337 */
rtx
gen_mmx_lshrv2si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V2SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2337 */
rtx
gen_mmx_ashlv1di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V1DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2337 */
rtx
gen_mmx_lshrv1di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V1DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2363 */
rtx
gen_mmx_ashlv1si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V1SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2363 */
rtx
gen_mmx_lshrv1si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V1SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2380 */
rtx
gen_ashlv2hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V2HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2380 */
rtx
gen_lshrv2hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V2HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2380 */
rtx
gen_ashrv2hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V2HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2397 */
rtx
gen_ashlv2qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V2QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2397 */
rtx
gen_lshrv2qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V2QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2397 */
rtx
gen_ashrv2qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V2QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2472 */
rtx
gen_mmx_gtv8qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_GT (V8QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2472 */
rtx
gen_mmx_gtv4hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_GT (V4HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2472 */
rtx
gen_mmx_gtv2si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_GT (V2SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2694 */
rtx
gen_mmx_pblendvb_v8qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2714 */
rtx
gen_mmx_pblendvb_v4qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2714 */
rtx
gen_mmx_pblendvb_v2qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2714 */
rtx
gen_mmx_pblendvb_v2hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2756 */
rtx
gen_mmx_ppermv64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	47));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2768 */
rtx
gen_mmx_ppermv32 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	47));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2794 */
rtx
gen_one_cmplv4qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_NOT (V4QImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2794 */
rtx
gen_one_cmplv2qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_NOT (V2QImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2794 */
rtx
gen_one_cmplv2hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_NOT (V2HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2831 */
rtx
gen_mmx_andnotv8qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V8QImode,
	gen_rtx_NOT (V8QImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2831 */
rtx
gen_mmx_andnotv4hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V4HImode,
	gen_rtx_NOT (V4HImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2831 */
rtx
gen_mmx_andnotv2si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V2SImode,
	gen_rtx_NOT (V2SImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2943 */
rtx
gen_andv4qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (V4QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2943 */
rtx
gen_iorv4qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (V4QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2943 */
rtx
gen_xorv4qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (V4QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2943 */
rtx
gen_andv2qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (V2QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2943 */
rtx
gen_iorv2qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (V2QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2943 */
rtx
gen_xorv2qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (V2QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2943 */
rtx
gen_andv2hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (V2HImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2943 */
rtx
gen_iorv2hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (V2HImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2943 */
rtx
gen_xorv2hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (V2HImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2998 */
rtx
gen_mmx_packsswb (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8QImode,
	gen_rtx_SS_TRUNCATE (V4QImode,
	operand1),
	gen_rtx_SS_TRUNCATE (V4QImode,
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2998 */
rtx
gen_mmx_packuswb (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8QImode,
	gen_rtx_US_TRUNCATE (V4QImode,
	operand1),
	gen_rtx_US_TRUNCATE (V4QImode,
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3018 */
rtx
gen_mmx_packssdw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4HImode,
	gen_rtx_SS_TRUNCATE (V2HImode,
	operand1),
	gen_rtx_SS_TRUNCATE (V2HImode,
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3038 */
rtx
gen_mmx_packusdw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4HImode,
	gen_rtx_US_TRUNCATE (V2HImode,
	operand1),
	gen_rtx_US_TRUNCATE (V2HImode,
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3054 */
rtx
gen_mmx_punpckhbw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8QImode,
	gen_rtx_VEC_CONCAT (V16QImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3077 */
rtx
gen_mmx_punpckhbw_low (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4QImode,
	gen_rtx_VEC_CONCAT (V8QImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3094 */
rtx
gen_mmx_punpcklbw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8QImode,
	gen_rtx_VEC_CONCAT (V16QImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3117 */
rtx
gen_mmx_punpcklbw_low (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4QImode,
	gen_rtx_VEC_CONCAT (V8QImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3134 */
rtx
gen_mmx_punpckhwd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4HImode,
	gen_rtx_VEC_CONCAT (V8HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3155 */
rtx
gen_mmx_punpcklwd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4HImode,
	gen_rtx_VEC_CONCAT (V8HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3176 */
rtx
gen_mmx_punpckhdq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V2SImode,
	gen_rtx_VEC_CONCAT (V4SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3197 */
rtx
gen_mmx_punpckldq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V2SImode,
	gen_rtx_VEC_CONCAT (V4SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3218 */
rtx
gen_sse4_1_sign_extendv4qiv4hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V4HImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3218 */
rtx
gen_sse4_1_zero_extendv4qiv4hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4HImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3233 */
rtx
gen_sse4_1_sign_extendv2hiv2si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V2SImode,
	gen_rtx_VEC_SELECT (V2HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3233 */
rtx
gen_sse4_1_zero_extendv2hiv2si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V2SImode,
	gen_rtx_VEC_SELECT (V2HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3247 */
rtx
gen_sse4_1_sign_extendv2qiv2hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V2HImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3247 */
rtx
gen_sse4_1_zero_extendv2qiv2hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V2HImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3523 */
rtx
gen_mmx_pshufbv8qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	46));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3541 */
rtx
gen_mmx_pshufbv4qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	46));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3575 */
rtx
gen_mmx_pshufw_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		operand2,
		operand3,
		operand4,
		operand5))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3678 */
rtx
gen_mmx_pswapdv2si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4350 */
rtx
gen_uavgv4qi3_ceil (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V4QImode,
	gen_rtx_LSHIFTRT (V4HImode,
	gen_rtx_PLUS (V4HImode,
	gen_rtx_PLUS (V4HImode,
	gen_rtx_ZERO_EXTEND (V4HImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V4HImode,
	operand2)),
	gen_rtx_CONST_VECTOR (V4HImode,
	gen_rtvec (4,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx))),
	const1_rtx)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4371 */
rtx
gen_uavgv2qi3_ceil (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V2QImode,
	gen_rtx_LSHIFTRT (V2HImode,
	gen_rtx_PLUS (V2HImode,
	gen_rtx_PLUS (V2HImode,
	gen_rtx_ZERO_EXTEND (V2HImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V2HImode,
	operand2)),
	gen_rtx_CONST_VECTOR (V2HImode,
	gen_rtvec (2,
		const1_rtx,
		const1_rtx))),
	const1_rtx)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4391 */
rtx
gen_uavgv2hi3_ceil (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V2HImode,
	gen_rtx_LSHIFTRT (V2SImode,
	gen_rtx_PLUS (V2SImode,
	gen_rtx_PLUS (V2SImode,
	gen_rtx_ZERO_EXTEND (V2SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V2SImode,
	operand2)),
	gen_rtx_CONST_VECTOR (V2SImode,
	gen_rtvec (2,
		const1_rtx,
		const1_rtx))),
	const1_rtx)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4411 */
rtx
gen_mmx_psadbw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V1DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	50));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4538 */
rtx
gen_mmx_pmovmskb (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv64qi_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv32qi_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv16qi_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv32hi_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv16hi_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv8hi_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv16si_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv8si_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv4si_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv8di_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv4di_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv2di_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv4ti_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv2ti_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv1ti_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv32hf_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv16hf_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv8hf_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv16sf_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv8sf_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv4sf_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv8df_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv4df_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1280 */
rtx
gen_movv2df_internal (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1437 */
rtx
gen_avx512f_movhf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	operand2,
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1437 */
rtx
gen_avx512f_movsf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	operand2,
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1437 */
rtx
gen_avx512f_movdf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	operand2,
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1482 */
rtx
gen_avx512f_storehf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (HFmode,
	gen_rtx_AND (QImode,
	operand2,
	const1_rtx),
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	operand0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1482 */
rtx
gen_avx512f_storesf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SFmode,
	gen_rtx_AND (QImode,
	operand2,
	const1_rtx),
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	operand0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1482 */
rtx
gen_avx512f_storedf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DFmode,
	gen_rtx_AND (QImode,
	operand2,
	const1_rtx),
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	operand0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1498 */
rtx
gen_avx512f_blendmv16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1498 */
rtx
gen_avx512vl_blendmv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1498 */
rtx
gen_avx512vl_blendmv4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1498 */
rtx
gen_avx512f_blendmv8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1498 */
rtx
gen_avx512vl_blendmv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1498 */
rtx
gen_avx512vl_blendmv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1498 */
rtx
gen_avx512f_blendmv16sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1498 */
rtx
gen_avx512vl_blendmv8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1498 */
rtx
gen_avx512vl_blendmv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1498 */
rtx
gen_avx512f_blendmv8df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1498 */
rtx
gen_avx512vl_blendmv4df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1498 */
rtx
gen_avx512vl_blendmv2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1529 */
rtx
gen_avx512bw_blendmv64qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1529 */
rtx
gen_avx512vl_blendmv16qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1529 */
rtx
gen_avx512vl_blendmv32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1529 */
rtx
gen_avx512bw_blendmv32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1529 */
rtx
gen_avx512vl_blendmv16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1529 */
rtx
gen_avx512vl_blendmv8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1543 */
rtx
gen_avx512bw_blendmv32hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1543 */
rtx
gen_avx512vl_blendmv16hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1543 */
rtx
gen_avx512fp16_blendmv8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1629 */
rtx
gen_movdi_to_sse (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	103)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4SImode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1738 */
rtx
gen_avx_lddqu256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (1,
		operand1),
	104));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1738 */
rtx
gen_sse3_lddqu (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (1,
		operand1),
	104));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1759 */
rtx
gen_sse2_movntisi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1759 */
rtx
gen_sse2_movntidi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1769 */
rtx
gen_avx512f_movntv16sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1769 */
rtx
gen_avx_movntv8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1769 */
rtx
gen_sse_movntv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1769 */
rtx
gen_avx512f_movntv8df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1769 */
rtx
gen_avx_movntv4df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1769 */
rtx
gen_sse2_movntv2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1780 */
rtx
gen_avx512f_movntv8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1780 */
rtx
gen_avx_movntv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1780 */
rtx
gen_sse2_movntv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1840 */
rtx
gen_kandqi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1840 */
rtx
gen_kiorqi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (QImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1840 */
rtx
gen_kxorqi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (QImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1840 */
rtx
gen_kandhi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1840 */
rtx
gen_kiorhi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (HImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1840 */
rtx
gen_kxorhi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (HImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1840 */
rtx
gen_kandsi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1840 */
rtx
gen_kiorsi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (SImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1840 */
rtx
gen_kxorsi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (SImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1840 */
rtx
gen_kanddi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (DImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1840 */
rtx
gen_kiordi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (DImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1840 */
rtx
gen_kxordi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (DImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1874 */
rtx
gen_kandnqi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_NOT (QImode,
	operand1),
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1874 */
rtx
gen_kandnhi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_NOT (HImode,
	operand1),
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1874 */
rtx
gen_kandnsi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_NOT (SImode,
	operand1),
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1874 */
rtx
gen_kandndi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (DImode,
	gen_rtx_NOT (DImode,
	operand1),
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1912 */
rtx
gen_kxnorqi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_NOT (QImode,
	gen_rtx_XOR (QImode,
	operand1,
	operand2))),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1912 */
rtx
gen_kxnorhi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_NOT (HImode,
	gen_rtx_XOR (HImode,
	operand1,
	operand2))),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1912 */
rtx
gen_kxnorsi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_NOT (SImode,
	gen_rtx_XOR (SImode,
	operand1,
	operand2))),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1912 */
rtx
gen_kxnordi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_NOT (DImode,
	gen_rtx_XOR (DImode,
	operand1,
	operand2))),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1935 */
rtx
gen_knotqi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_NOT (QImode,
	operand1)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1935 */
rtx
gen_knothi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_NOT (HImode,
	operand1)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1935 */
rtx
gen_knotsi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_NOT (SImode,
	operand1)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1935 */
rtx
gen_knotdi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_NOT (DImode,
	operand1)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1988 */
rtx
gen_kaddqi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (QImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1988 */
rtx
gen_kaddhi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (HImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1988 */
rtx
gen_kaddsi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1988 */
rtx
gen_kadddi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2003 */
rtx
gen_kashiftqi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (QImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2003 */
rtx
gen_klshiftrtqi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (QImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2003 */
rtx
gen_kashifthi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (HImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2003 */
rtx
gen_klshiftrthi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (HImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2003 */
rtx
gen_kashiftsi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (SImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2003 */
rtx
gen_klshiftrtsi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (SImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2003 */
rtx
gen_kashiftdi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (DImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2003 */
rtx
gen_klshiftrtdi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (DImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2029 */
rtx
gen_ktestqi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	160));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2029 */
rtx
gen_ktesthi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	160));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2029 */
rtx
gen_ktestsi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	160));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2029 */
rtx
gen_ktestdi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	160));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2041 */
rtx
gen_kortestqi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	159));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2041 */
rtx
gen_kortesthi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	159));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2041 */
rtx
gen_kortestsi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	159));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2041 */
rtx
gen_kortestdi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	159));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2053 */
rtx
gen_kunpckhi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IOR (HImode,
	gen_rtx_ASHIFT (HImode,
	gen_rtx_ZERO_EXTEND (HImode,
	operand1),
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_ZERO_EXTEND (HImode,
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2066 */
rtx
gen_kunpcksi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IOR (SImode,
	gen_rtx_ASHIFT (SImode,
	gen_rtx_ZERO_EXTEND (SImode,
	operand1),
	const_int_rtx[MAX_SAVED_CONST_INT + (16)]),
	gen_rtx_ZERO_EXTEND (SImode,
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2077 */
rtx
gen_kunpckdi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IOR (DImode,
	gen_rtx_ASHIFT (DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1),
	const_int_rtx[MAX_SAVED_CONST_INT + (32)]),
	gen_rtx_ZERO_EXTEND (DImode,
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_avx512fp16_vmaddv8hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_PLUS (V8HFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_avx512fp16_vmaddv8hf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_PLUS (V8HFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_avx512fp16_vmaddv8hf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_PLUS (V8HFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_avx512fp16_vmaddv8hf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_PLUS (V8HFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_avx512fp16_vmsubv8hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_MINUS (V8HFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_avx512fp16_vmsubv8hf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_MINUS (V8HFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_avx512fp16_vmsubv8hf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_MINUS (V8HFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_avx512fp16_vmsubv8hf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_MINUS (V8HFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_sse_vmaddv4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_PLUS (V4SFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_sse_vmaddv4sf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_PLUS (V4SFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_sse_vmaddv4sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_PLUS (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_sse_vmaddv4sf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_PLUS (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_sse_vmsubv4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_MINUS (V4SFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_sse_vmsubv4sf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_MINUS (V4SFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_sse_vmsubv4sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_MINUS (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_sse_vmsubv4sf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_MINUS (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_sse2_vmaddv2df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_PLUS (V2DFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_sse2_vmaddv2df3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_PLUS (V2DFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_sse2_vmaddv2df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_PLUS (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_sse2_vmaddv2df3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_PLUS (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_sse2_vmsubv2df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_MINUS (V2DFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_sse2_vmsubv2df3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_MINUS (V2DFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_sse2_vmsubv2df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_MINUS (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2223 */
rtx
gen_sse2_vmsubv2df3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_MINUS (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_avx512fp16_vmmulv8hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_MULT (V8HFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_avx512fp16_vmmulv8hf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_MULT (V8HFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_avx512fp16_vmmulv8hf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_MULT (V8HFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_avx512fp16_vmmulv8hf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_MULT (V8HFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_avx512fp16_vmdivv8hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_DIV (V8HFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_avx512fp16_vmdivv8hf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_DIV (V8HFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_avx512fp16_vmdivv8hf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_DIV (V8HFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_avx512fp16_vmdivv8hf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_DIV (V8HFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_sse_vmmulv4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_MULT (V4SFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_sse_vmmulv4sf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_MULT (V4SFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_sse_vmmulv4sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_MULT (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_sse_vmmulv4sf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_MULT (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_sse_vmdivv4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_DIV (V4SFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_sse_vmdivv4sf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_DIV (V4SFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_sse_vmdivv4sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_DIV (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_sse_vmdivv4sf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_DIV (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_sse2_vmmulv2df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_MULT (V2DFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_sse2_vmmulv2df3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_MULT (V2DFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_sse2_vmmulv2df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_MULT (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_sse2_vmmulv2df3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_MULT (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_sse2_vmdivv2df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_DIV (V2DFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_sse2_vmdivv2df3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_DIV (V2DFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_sse2_vmdivv2df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_DIV (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2314 */
rtx
gen_sse2_vmdivv2df3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_DIV (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_avx512fp16_divv32hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_DIV (V32HFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_avx512fp16_divv32hf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_DIV (V32HFmode,
	operand1,
	operand2),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_avx512fp16_divv32hf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_DIV (V32HFmode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_avx512fp16_divv32hf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_DIV (V32HFmode,
	operand1,
	operand2),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_avx512fp16_divv16hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_DIV (V16HFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_avx512fp16_divv16hf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_DIV (V16HFmode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_avx512fp16_divv8hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_DIV (V8HFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_avx512fp16_divv8hf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_DIV (V8HFmode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_avx512f_divv16sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_DIV (V16SFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_avx512f_divv16sf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_DIV (V16SFmode,
	operand1,
	operand2),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_avx512f_divv16sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_DIV (V16SFmode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_avx512f_divv16sf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_DIV (V16SFmode,
	operand1,
	operand2),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_avx_divv8sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_DIV (V8SFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_avx_divv8sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_DIV (V8SFmode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_sse_divv4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_DIV (V4SFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_sse_divv4sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_DIV (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_avx512f_divv8df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_DIV (V8DFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_avx512f_divv8df3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_DIV (V8DFmode,
	operand1,
	operand2),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_avx512f_divv8df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_DIV (V8DFmode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_avx512f_divv8df3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_DIV (V8DFmode,
	operand1,
	operand2),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_avx_divv4df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_DIV (V4DFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_avx_divv4df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_DIV (V4DFmode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_sse2_divv2df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_DIV (V2DFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2395 */
rtx
gen_sse2_divv2df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_DIV (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2409 */
rtx
gen_avx_rcpv8sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (1,
		operand1),
	48));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2409 */
rtx
gen_sse_rcpv4sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	48));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2421 */
rtx
gen_sse_vmrcpv4sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	48),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2458 */
rtx
gen_avx512fp16_rcpv32hf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (1,
		operand1),
	48));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2458 */
rtx
gen_avx512fp16_rcpv32hf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (1,
		operand1),
	48),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2458 */
rtx
gen_avx512fp16_rcpv16hf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (1,
		operand1),
	48));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2458 */
rtx
gen_avx512fp16_rcpv16hf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (1,
		operand1),
	48),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2458 */
rtx
gen_avx512fp16_rcpv8hf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (1,
		operand1),
	48));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2458 */
rtx
gen_avx512fp16_rcpv8hf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (1,
		operand1),
	48),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2469 */
rtx
gen_avx512fp16_vmrcpv8hf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (1,
		operand1),
	48),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2469 */
rtx
gen_avx512fp16_vmrcpv8hf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (1,
		operand1),
	48),
	operand3,
	operand4),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2496 */
rtx
gen_rcp14v16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (1,
		operand1),
	147),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2496 */
rtx
gen_rcp14v8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (1,
		operand1),
	147),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2496 */
rtx
gen_rcp14v4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	147),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2496 */
rtx
gen_rcp14v8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (1,
		operand1),
	147),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2496 */
rtx
gen_rcp14v4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (1,
		operand1),
	147),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2496 */
rtx
gen_rcp14v2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	147),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2507 */
rtx
gen_srcp14v4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	147),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2507 */
rtx
gen_srcp14v2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	147),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2521 */
rtx
gen_srcp14v4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	147),
	operand3,
	operand4),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2521 */
rtx
gen_srcp14v2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	147),
	operand3,
	operand4),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_avx512fp16_sqrtv32hf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SQRT (V32HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_avx512fp16_sqrtv32hf2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_SQRT (V32HFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_avx512fp16_sqrtv32hf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_SQRT (V32HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_avx512fp16_sqrtv32hf2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_SQRT (V32HFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_avx512fp16_sqrtv16hf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SQRT (V16HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_avx512fp16_sqrtv16hf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_SQRT (V16HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_avx512fp16_sqrtv8hf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SQRT (V8HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_avx512fp16_sqrtv8hf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_SQRT (V8HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_avx512f_sqrtv16sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SQRT (V16SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_avx512f_sqrtv16sf2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_SQRT (V16SFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_avx512f_sqrtv16sf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_SQRT (V16SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_avx512f_sqrtv16sf2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_SQRT (V16SFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_avx_sqrtv8sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SQRT (V8SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_avx_sqrtv8sf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_SQRT (V8SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_sse_sqrtv4sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SQRT (V4SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_sse_sqrtv4sf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_SQRT (V4SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_avx512f_sqrtv8df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SQRT (V8DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_avx512f_sqrtv8df2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_SQRT (V8DFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_avx512f_sqrtv8df2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_SQRT (V8DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_avx512f_sqrtv8df2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_SQRT (V8DFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_avx_sqrtv4df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SQRT (V4DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_avx_sqrtv4df2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_SQRT (V4DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_sse2_sqrtv2df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SQRT (V2DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2559 */
rtx
gen_sse2_sqrtv2df2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_SQRT (V2DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2573 */
rtx
gen_avx512fp16_vmsqrtv8hf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_SQRT (V8HFmode,
	operand1),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2573 */
rtx
gen_avx512fp16_vmsqrtv8hf2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_SQRT (V8HFmode,
	operand1),
	operand2,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2573 */
rtx
gen_avx512fp16_vmsqrtv8hf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_SQRT (V8HFmode,
	operand1),
	operand3,
	operand4),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2573 */
rtx
gen_avx512fp16_vmsqrtv8hf2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_SQRT (V8HFmode,
	operand1),
	operand3,
	operand4),
	operand2,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2573 */
rtx
gen_sse_vmsqrtv4sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_SQRT (V4SFmode,
	operand1),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2573 */
rtx
gen_sse_vmsqrtv4sf2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_SQRT (V4SFmode,
	operand1),
	operand2,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2573 */
rtx
gen_sse_vmsqrtv4sf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_SQRT (V4SFmode,
	operand1),
	operand3,
	operand4),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2573 */
rtx
gen_sse_vmsqrtv4sf2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_SQRT (V4SFmode,
	operand1),
	operand3,
	operand4),
	operand2,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2573 */
rtx
gen_sse2_vmsqrtv2df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_SQRT (V2DFmode,
	operand1),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2573 */
rtx
gen_sse2_vmsqrtv2df2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_SQRT (V2DFmode,
	operand1),
	operand2,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2573 */
rtx
gen_sse2_vmsqrtv2df2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_SQRT (V2DFmode,
	operand1),
	operand3,
	operand4),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2573 */
rtx
gen_sse2_vmsqrtv2df2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_SQRT (V2DFmode,
	operand1),
	operand3,
	operand4),
	operand2,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2628 */
rtx
gen_avx_rsqrtv8sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (1,
		operand1),
	49));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2628 */
rtx
gen_sse_rsqrtv4sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	49));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2638 */
rtx
gen_avx512fp16_rsqrtv32hf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (1,
		operand1),
	49));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2638 */
rtx
gen_avx512fp16_rsqrtv32hf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (1,
		operand1),
	49),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2638 */
rtx
gen_avx512fp16_rsqrtv16hf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (1,
		operand1),
	49));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2638 */
rtx
gen_avx512fp16_rsqrtv16hf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (1,
		operand1),
	49),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2638 */
rtx
gen_avx512fp16_rsqrtv8hf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (1,
		operand1),
	49));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2638 */
rtx
gen_avx512fp16_rsqrtv8hf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (1,
		operand1),
	49),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2648 */
rtx
gen_rsqrt14v16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (1,
		operand1),
	148),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2648 */
rtx
gen_rsqrt14v8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (1,
		operand1),
	148),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2648 */
rtx
gen_rsqrt14v4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	148),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2648 */
rtx
gen_rsqrt14v8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (1,
		operand1),
	148),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2648 */
rtx
gen_rsqrt14v4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (1,
		operand1),
	148),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2648 */
rtx
gen_rsqrt14v2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	148),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2659 */
rtx
gen_rsqrt14v4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	148),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2659 */
rtx
gen_rsqrt14v2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	148),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2673 */
rtx
gen_rsqrt14_v4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	148),
	operand3,
	operand4),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2673 */
rtx
gen_rsqrt14_v2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	148),
	operand3,
	operand4),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2690 */
rtx
gen_sse_vmrsqrtv4sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	49),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2723 */
rtx
gen_avx512fp16_vmrsqrtv8hf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (1,
		operand1),
	49),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2723 */
rtx
gen_avx512fp16_vmrsqrtv8hf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (1,
		operand1),
	49),
	operand3,
	operand4),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv32hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv32hf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv32hf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv32hf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv32hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv32hf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv32hf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv32hf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv16hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv16hf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv16hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv16hf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv8hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv8hf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv8hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv8hf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv16sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv16sf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv16sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv16sf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv16sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv16sf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv16sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv16sf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv8sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv8sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv8sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv8sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv4sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv4sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv8df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv8df3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv8df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv8df3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv8df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv8df3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv8df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv8df3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv4df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv4df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv4df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv4df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv2df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_maxv2df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	54),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv2df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2818 */
rtx
gen_ieee_minv2df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	53),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_avx512fp16_vmsmaxv8hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_SMAX (V8HFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_avx512fp16_vmsmaxv8hf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_SMAX (V8HFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_avx512fp16_vmsmaxv8hf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_SMAX (V8HFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_avx512fp16_vmsmaxv8hf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_SMAX (V8HFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_avx512fp16_vmsminv8hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_SMIN (V8HFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_avx512fp16_vmsminv8hf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_SMIN (V8HFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_avx512fp16_vmsminv8hf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_SMIN (V8HFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_avx512fp16_vmsminv8hf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_SMIN (V8HFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_sse_vmsmaxv4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_SMAX (V4SFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_sse_vmsmaxv4sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_SMAX (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_sse_vmsmaxv4sf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_SMAX (V4SFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_sse_vmsmaxv4sf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_SMAX (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_sse_vmsminv4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_SMIN (V4SFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_sse_vmsminv4sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_SMIN (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_sse_vmsminv4sf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_SMIN (V4SFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_sse_vmsminv4sf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_SMIN (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_sse2_vmsmaxv2df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_SMAX (V2DFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_sse2_vmsmaxv2df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_SMAX (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_sse2_vmsmaxv2df3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_SMAX (V2DFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_sse2_vmsmaxv2df3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_SMAX (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_sse2_vmsminv2df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_SMIN (V2DFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_sse2_vmsminv2df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_SMIN (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_sse2_vmsminv2df3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_SMIN (V2DFmode,
	operand1,
	operand2),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2869 */
rtx
gen_sse2_vmsminv2df3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_SMIN (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2890 */
rtx
gen_vec_addsubv8sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_MINUS (V8SFmode,
	operand1,
	operand2),
	gen_rtx_PLUS (V8SFmode,
	operand1,
	operand2),
	GEN_INT (85L)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2890 */
rtx
gen_vec_addsubv4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_MINUS (V4SFmode,
	operand1,
	operand2),
	gen_rtx_PLUS (V4SFmode,
	operand1,
	operand2),
	const_int_rtx[MAX_SAVED_CONST_INT + (5)]));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2890 */
rtx
gen_vec_addsubv4df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_MINUS (V4DFmode,
	operand1,
	operand2),
	gen_rtx_PLUS (V4DFmode,
	operand1,
	operand2),
	const_int_rtx[MAX_SAVED_CONST_INT + (5)]));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2890 */
rtx
gen_vec_addsubv2df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_MINUS (V2DFmode,
	operand1,
	operand2),
	gen_rtx_PLUS (V2DFmode,
	operand1,
	operand2),
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3036 */
rtx
gen_avx_haddv4df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4DFmode,
	gen_rtx_VEC_CONCAT (V2DFmode,
	gen_rtx_PLUS (DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx)))),
	gen_rtx_PLUS (DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (DFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx))))),
	gen_rtx_VEC_CONCAT (V2DFmode,
	gen_rtx_PLUS (DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))),
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))),
	gen_rtx_PLUS (DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))),
	gen_rtx_VEC_SELECT (DFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3036 */
rtx
gen_avx_hsubv4df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4DFmode,
	gen_rtx_VEC_CONCAT (V2DFmode,
	gen_rtx_MINUS (DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx)))),
	gen_rtx_MINUS (DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (DFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx))))),
	gen_rtx_VEC_CONCAT (V2DFmode,
	gen_rtx_MINUS (DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))),
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))),
	gen_rtx_MINUS (DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))),
	gen_rtx_VEC_SELECT (DFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3106 */
rtx
gen_sse3_hsubv2df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V2DFmode,
	gen_rtx_MINUS (DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx)))),
	gen_rtx_MINUS (DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (DFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3165 */
rtx
gen_avx_haddv8sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8SFmode,
	gen_rtx_VEC_CONCAT (V4SFmode,
	gen_rtx_VEC_CONCAT (V2SFmode,
	gen_rtx_PLUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx)))),
	gen_rtx_PLUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))),
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))))),
	gen_rtx_VEC_CONCAT (V2SFmode,
	gen_rtx_PLUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx)))),
	gen_rtx_PLUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))),
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))))),
	gen_rtx_VEC_CONCAT (V4SFmode,
	gen_rtx_VEC_CONCAT (V2SFmode,
	gen_rtx_PLUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)]))),
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)])))),
	gen_rtx_PLUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))),
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))))),
	gen_rtx_VEC_CONCAT (V2SFmode,
	gen_rtx_PLUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)]))),
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)])))),
	gen_rtx_PLUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))),
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3165 */
rtx
gen_avx_hsubv8sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8SFmode,
	gen_rtx_VEC_CONCAT (V4SFmode,
	gen_rtx_VEC_CONCAT (V2SFmode,
	gen_rtx_MINUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx)))),
	gen_rtx_MINUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))),
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))))),
	gen_rtx_VEC_CONCAT (V2SFmode,
	gen_rtx_MINUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx)))),
	gen_rtx_MINUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))),
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))))),
	gen_rtx_VEC_CONCAT (V4SFmode,
	gen_rtx_VEC_CONCAT (V2SFmode,
	gen_rtx_MINUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)]))),
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)])))),
	gen_rtx_MINUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))),
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))))),
	gen_rtx_VEC_CONCAT (V2SFmode,
	gen_rtx_MINUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)]))),
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)])))),
	gen_rtx_MINUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))),
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3208 */
rtx
gen_sse3_haddv4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SFmode,
	gen_rtx_VEC_CONCAT (V2SFmode,
	gen_rtx_PLUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx)))),
	gen_rtx_PLUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))),
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))))),
	gen_rtx_VEC_CONCAT (V2SFmode,
	gen_rtx_PLUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx)))),
	gen_rtx_PLUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))),
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3208 */
rtx
gen_sse3_hsubv4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SFmode,
	gen_rtx_VEC_CONCAT (V2SFmode,
	gen_rtx_MINUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx)))),
	gen_rtx_MINUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))),
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))))),
	gen_rtx_VEC_CONCAT (V2SFmode,
	gen_rtx_MINUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx)))),
	gen_rtx_MINUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))),
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3390 */
rtx
gen_reducepv32hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	181),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3390 */
rtx
gen_reducepv32hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	181),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3390 */
rtx
gen_reducepv16hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	181),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3390 */
rtx
gen_reducepv16hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	181),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3390 */
rtx
gen_reducepv8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	181),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3390 */
rtx
gen_reducepv8hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	181),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3390 */
rtx
gen_reducepv16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	181),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3390 */
rtx
gen_reducepv16sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	181),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3390 */
rtx
gen_reducepv8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	181),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3390 */
rtx
gen_reducepv8sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	181),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3390 */
rtx
gen_reducepv4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	181),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3390 */
rtx
gen_reducepv4sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	181),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3390 */
rtx
gen_reducepv8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	181),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3390 */
rtx
gen_reducepv8df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	181),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3390 */
rtx
gen_reducepv4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	181),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3390 */
rtx
gen_reducepv4df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	181),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3390 */
rtx
gen_reducepv2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	181),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3390 */
rtx
gen_reducepv2df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	181),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3402 */
rtx
gen_reducesv8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	181),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3402 */
rtx
gen_reducesv8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	181),
	operand4,
	operand5),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3402 */
rtx
gen_reducesv8hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	181),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3402 */
rtx
gen_reducesv8hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	181),
	operand4,
	operand5),
	operand1,
	const1_rtx),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3402 */
rtx
gen_reducesv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	181),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3402 */
rtx
gen_reducesv4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	181),
	operand4,
	operand5),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3402 */
rtx
gen_reducesv4sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	181),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3402 */
rtx
gen_reducesv4sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	181),
	operand4,
	operand5),
	operand1,
	const1_rtx),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3402 */
rtx
gen_reducesv2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	181),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3402 */
rtx
gen_reducesv2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	181),
	operand4,
	operand5),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3402 */
rtx
gen_reducesv2df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	181),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3402 */
rtx
gen_reducesv2df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	181),
	operand4,
	operand5),
	operand1,
	const1_rtx),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3424 */
rtx
gen_avx_cmpv8sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3424 */
rtx
gen_avx_cmpv4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3424 */
rtx
gen_avx_cmpv4df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3424 */
rtx
gen_avx_cmpv2df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3634 */
rtx
gen_avx_vmcmpv4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3634 */
rtx
gen_avx_vmcmpv2df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3667 */
rtx
gen_avx_maskcmpv8sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand3), V8SFmode,
		operand1,
		operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3667 */
rtx
gen_sse_maskcmpv4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand3), V4SFmode,
		operand1,
		operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3667 */
rtx
gen_avx_maskcmpv4df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand3), V4DFmode,
		operand1,
		operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3667 */
rtx
gen_sse2_maskcmpv2df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand3), V2DFmode,
		operand1,
		operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3682 */
rtx
gen_sse_vmmaskcmpv4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), V4SFmode,
		operand1,
		operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3682 */
rtx
gen_sse2_vmmaskcmpv2df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), V2DFmode,
		operand1,
		operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512f_cmpv16si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512f_cmpv16si3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512f_cmpv16si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512f_cmpv16si3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512vl_cmpv8si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512vl_cmpv8si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512vl_cmpv4si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512vl_cmpv4si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512f_cmpv8di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512f_cmpv8di3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512f_cmpv8di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512f_cmpv8di3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512vl_cmpv4di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512vl_cmpv4di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512vl_cmpv2di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512vl_cmpv2di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512bw_cmpv32hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512bw_cmpv32hf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512bw_cmpv32hf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512bw_cmpv32hf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		gen_rtx_AND (SImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512vl_cmpv16hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512vl_cmpv16hf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512fp16_cmpv8hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512fp16_cmpv8hf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512f_cmpv16sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512f_cmpv16sf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512f_cmpv16sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512f_cmpv16sf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512vl_cmpv8sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512vl_cmpv8sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512vl_cmpv4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512vl_cmpv4sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512f_cmpv8df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512f_cmpv8df3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512f_cmpv8df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512f_cmpv8df3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512vl_cmpv4df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512vl_cmpv4df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512vl_cmpv2df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3711 */
rtx
gen_avx512vl_cmpv2df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3815 */
rtx
gen_avx512bw_cmpv64qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3815 */
rtx
gen_avx512bw_cmpv64qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (DImode,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3815 */
rtx
gen_avx512vl_cmpv16qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3815 */
rtx
gen_avx512vl_cmpv16qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3815 */
rtx
gen_avx512vl_cmpv32qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3815 */
rtx
gen_avx512vl_cmpv32qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3815 */
rtx
gen_avx512bw_cmpv32hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3815 */
rtx
gen_avx512bw_cmpv32hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3815 */
rtx
gen_avx512vl_cmpv16hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3815 */
rtx
gen_avx512vl_cmpv16hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3815 */
rtx
gen_avx512vl_cmpv8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3815 */
rtx
gen_avx512vl_cmpv8hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3934 */
rtx
gen_avx512bw_ucmpv64qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3934 */
rtx
gen_avx512bw_ucmpv64qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (DImode,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3934 */
rtx
gen_avx512vl_ucmpv16qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3934 */
rtx
gen_avx512vl_ucmpv16qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3934 */
rtx
gen_avx512vl_ucmpv32qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3934 */
rtx
gen_avx512vl_ucmpv32qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3934 */
rtx
gen_avx512bw_ucmpv32hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3934 */
rtx
gen_avx512bw_ucmpv32hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3934 */
rtx
gen_avx512vl_ucmpv16hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3934 */
rtx
gen_avx512vl_ucmpv16hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3934 */
rtx
gen_avx512vl_ucmpv8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3934 */
rtx
gen_avx512vl_ucmpv8hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4032 */
rtx
gen_avx512f_ucmpv16si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4032 */
rtx
gen_avx512f_ucmpv16si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4032 */
rtx
gen_avx512vl_ucmpv8si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4032 */
rtx
gen_avx512vl_ucmpv8si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4032 */
rtx
gen_avx512vl_ucmpv4si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4032 */
rtx
gen_avx512vl_ucmpv4si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4032 */
rtx
gen_avx512f_ucmpv8di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4032 */
rtx
gen_avx512f_ucmpv8di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4032 */
rtx
gen_avx512vl_ucmpv4di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4032 */
rtx
gen_avx512vl_ucmpv4di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4032 */
rtx
gen_avx512vl_ucmpv2di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4032 */
rtx
gen_avx512vl_ucmpv2di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4171 */
rtx
gen_avx512f_vmcmpv8hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4171 */
rtx
gen_avx512f_vmcmpv8hf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4171 */
rtx
gen_avx512f_vmcmpv4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4171 */
rtx
gen_avx512f_vmcmpv4sf3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4171 */
rtx
gen_avx512f_vmcmpv2df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4171 */
rtx
gen_avx512f_vmcmpv2df3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4187 */
rtx
gen_avx512f_vmcmpv8hf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	gen_rtx_AND (QImode,
	operand4,
	const1_rtx)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4187 */
rtx
gen_avx512f_vmcmpv8hf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	gen_rtx_AND (QImode,
	operand4,
	const1_rtx)),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4187 */
rtx
gen_avx512f_vmcmpv4sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	gen_rtx_AND (QImode,
	operand4,
	const1_rtx)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4187 */
rtx
gen_avx512f_vmcmpv4sf3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	gen_rtx_AND (QImode,
	operand4,
	const1_rtx)),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4187 */
rtx
gen_avx512f_vmcmpv2df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	gen_rtx_AND (QImode,
	operand4,
	const1_rtx)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4187 */
rtx
gen_avx512f_vmcmpv2df3_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52),
	gen_rtx_AND (QImode,
	operand4,
	const1_rtx)),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4205 */
rtx
gen_sse_comi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCFPmode,
	17),
	gen_rtx_COMPARE (CCFPmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand0,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4205 */
rtx
gen_sse_comi_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCFPmode,
	17),
	gen_rtx_UNSPEC (CCFPmode,
	gen_rtvec (2,
		gen_rtx_COMPARE (CCFPmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand0,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4205 */
rtx
gen_sse_ucomi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCFPmode,
	17),
	gen_rtx_UNSPEC (CCFPmode,
	gen_rtvec (1,
		gen_rtx_COMPARE (CCFPmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand0,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))))),
	27));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4205 */
rtx
gen_sse_ucomi_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCFPmode,
	17),
	gen_rtx_UNSPEC (CCFPmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (CCFPmode,
	gen_rtvec (1,
		gen_rtx_COMPARE (CCFPmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand0,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))))),
	27),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4205 */
rtx
gen_sse2_comi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCFPmode,
	17),
	gen_rtx_COMPARE (CCFPmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand0,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4205 */
rtx
gen_sse2_comi_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCFPmode,
	17),
	gen_rtx_UNSPEC (CCFPmode,
	gen_rtvec (2,
		gen_rtx_COMPARE (CCFPmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand0,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4205 */
rtx
gen_sse2_ucomi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCFPmode,
	17),
	gen_rtx_UNSPEC (CCFPmode,
	gen_rtvec (1,
		gen_rtx_COMPARE (CCFPmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand0,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))))),
	27));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4205 */
rtx
gen_sse2_ucomi_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCFPmode,
	17),
	gen_rtx_UNSPEC (CCFPmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (CCFPmode,
	gen_rtvec (1,
		gen_rtx_COMPARE (CCFPmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand0,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))))),
	27),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4574 */
rtx
gen_avx512fp16_andnotv16hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V16HFmode,
	gen_rtx_NOT (V16HFmode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4574 */
rtx
gen_avx512fp16_andnotv8hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V8HFmode,
	gen_rtx_NOT (V8HFmode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4574 */
rtx
gen_avx_andnotv8sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V8SFmode,
	gen_rtx_NOT (V8SFmode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4574 */
rtx
gen_avx_andnotv8sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_AND (V8SFmode,
	gen_rtx_NOT (V8SFmode,
	operand1),
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4574 */
rtx
gen_sse_andnotv4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V4SFmode,
	gen_rtx_NOT (V4SFmode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4574 */
rtx
gen_sse_andnotv4sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_AND (V4SFmode,
	gen_rtx_NOT (V4SFmode,
	operand1),
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4574 */
rtx
gen_avx_andnotv4df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V4DFmode,
	gen_rtx_NOT (V4DFmode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4574 */
rtx
gen_avx_andnotv4df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_AND (V4DFmode,
	gen_rtx_NOT (V4DFmode,
	operand1),
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4574 */
rtx
gen_sse2_andnotv2df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V2DFmode,
	gen_rtx_NOT (V2DFmode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4574 */
rtx
gen_sse2_andnotv2df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_AND (V2DFmode,
	gen_rtx_NOT (V2DFmode,
	operand1),
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4642 */
rtx
gen_avx512fp16_andnotv32hf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V32HFmode,
	gen_rtx_NOT (V32HFmode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4642 */
rtx
gen_avx512f_andnotv16sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V16SFmode,
	gen_rtx_NOT (V16SFmode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4642 */
rtx
gen_avx512f_andnotv16sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_AND (V16SFmode,
	gen_rtx_NOT (V16SFmode,
	operand1),
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4642 */
rtx
gen_avx512f_andnotv8df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V8DFmode,
	gen_rtx_NOT (V8DFmode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4642 */
rtx
gen_avx512f_andnotv8df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_AND (V8DFmode,
	gen_rtx_NOT (V8DFmode,
	operand1),
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4989 */
rtx
gen_andsf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (SFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4989 */
rtx
gen_iorsf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IOR (SFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4989 */
rtx
gen_xorsf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_XOR (SFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4989 */
rtx
gen_anddf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (DFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4989 */
rtx
gen_iordf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IOR (DFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4989 */
rtx
gen_xordf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_XOR (DFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5263 */
rtx
gen_fma_fmadd_v32hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	operand1,
	operand2,
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5263 */
rtx
gen_fma_fmadd_v32hf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	operand1,
	operand2,
	operand3),
	operand4,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5263 */
rtx
gen_fma_fmadd_v16hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FMA (V16HFmode,
	operand1,
	operand2,
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5263 */
rtx
gen_fma_fmadd_v8hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5263 */
rtx
gen_fma_fmadd_v16sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	operand1,
	operand2,
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5263 */
rtx
gen_fma_fmadd_v16sf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	operand1,
	operand2,
	operand3),
	operand4,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5263 */
rtx
gen_fma_fmadd_v8sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FMA (V8SFmode,
	operand1,
	operand2,
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5263 */
rtx
gen_fma_fmadd_v4sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5263 */
rtx
gen_fma_fmadd_v8df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	operand1,
	operand2,
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5263 */
rtx
gen_fma_fmadd_v8df_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	operand1,
	operand2,
	operand3),
	operand4,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5263 */
rtx
gen_fma_fmadd_v4df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FMA (V4DFmode,
	operand1,
	operand2,
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5263 */
rtx
gen_fma_fmadd_v2df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5300 */
rtx
gen_avx512bw_fmadd_v32hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5300 */
rtx
gen_avx512bw_fmadd_v32hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5300 */
rtx
gen_avx512vl_fmadd_v16hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FMA (V16HFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5300 */
rtx
gen_avx512fp16_fmadd_v8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5300 */
rtx
gen_avx512f_fmadd_v16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5300 */
rtx
gen_avx512f_fmadd_v16sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5300 */
rtx
gen_avx512vl_fmadd_v8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FMA (V8SFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5300 */
rtx
gen_avx512vl_fmadd_v4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5300 */
rtx
gen_avx512f_fmadd_v8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5300 */
rtx
gen_avx512f_fmadd_v8df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5300 */
rtx
gen_avx512vl_fmadd_v4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FMA (V4DFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5300 */
rtx
gen_avx512vl_fmadd_v2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5316 */
rtx
gen_avx512bw_fmadd_v32hf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5316 */
rtx
gen_avx512bw_fmadd_v32hf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5316 */
rtx
gen_avx512vl_fmadd_v16hf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FMA (V16HFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5316 */
rtx
gen_avx512vl_fmadd_v16hf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FMA (V16HFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5316 */
rtx
gen_avx512fp16_fmadd_v8hf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5316 */
rtx
gen_avx512fp16_fmadd_v8hf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5316 */
rtx
gen_avx512f_fmadd_v16sf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5316 */
rtx
gen_avx512f_fmadd_v16sf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5316 */
rtx
gen_avx512vl_fmadd_v8sf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FMA (V8SFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5316 */
rtx
gen_avx512vl_fmadd_v8sf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FMA (V8SFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5316 */
rtx
gen_avx512vl_fmadd_v4sf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5316 */
rtx
gen_avx512vl_fmadd_v4sf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5316 */
rtx
gen_avx512f_fmadd_v8df_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5316 */
rtx
gen_avx512f_fmadd_v8df_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5316 */
rtx
gen_avx512vl_fmadd_v4df_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FMA (V4DFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5316 */
rtx
gen_avx512vl_fmadd_v4df_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FMA (V4DFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5316 */
rtx
gen_avx512vl_fmadd_v2df_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5316 */
rtx
gen_avx512vl_fmadd_v2df_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5362 */
rtx
gen_fma_fmsub_v32hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V32HFmode,
	operand3)),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5362 */
rtx
gen_fma_fmsub_v32hf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V32HFmode,
	operand3)),
	operand4,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5362 */
rtx
gen_fma_fmsub_v16hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FMA (V16HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V16HFmode,
	operand3)),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5362 */
rtx
gen_fma_fmsub_v8hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8HFmode,
	operand3)),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5362 */
rtx
gen_fma_fmsub_v16sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V16SFmode,
	operand3)),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5362 */
rtx
gen_fma_fmsub_v16sf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V16SFmode,
	operand3)),
	operand4,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5362 */
rtx
gen_fma_fmsub_v8sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FMA (V8SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8SFmode,
	operand3)),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5362 */
rtx
gen_fma_fmsub_v4sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V4SFmode,
	operand3)),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5362 */
rtx
gen_fma_fmsub_v8df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8DFmode,
	operand3)),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5362 */
rtx
gen_fma_fmsub_v8df_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8DFmode,
	operand3)),
	operand4,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5362 */
rtx
gen_fma_fmsub_v4df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FMA (V4DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V4DFmode,
	operand3)),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5362 */
rtx
gen_fma_fmsub_v2df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V2DFmode,
	operand3)),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5401 */
rtx
gen_avx512bw_fmsub_v32hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V32HFmode,
	operand3)),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5401 */
rtx
gen_avx512bw_fmsub_v32hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V32HFmode,
	operand3)),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5401 */
rtx
gen_avx512vl_fmsub_v16hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FMA (V16HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V16HFmode,
	operand3)),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5401 */
rtx
gen_avx512vl_fmsub_v16hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FMA (V16HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V16HFmode,
	operand3)),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5401 */
rtx
gen_avx512fp16_fmsub_v8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8HFmode,
	operand3)),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5401 */
rtx
gen_avx512fp16_fmsub_v8hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8HFmode,
	operand3)),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5401 */
rtx
gen_avx512f_fmsub_v16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V16SFmode,
	operand3)),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5401 */
rtx
gen_avx512f_fmsub_v16sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V16SFmode,
	operand3)),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5401 */
rtx
gen_avx512vl_fmsub_v8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FMA (V8SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8SFmode,
	operand3)),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5401 */
rtx
gen_avx512vl_fmsub_v8sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FMA (V8SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8SFmode,
	operand3)),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5401 */
rtx
gen_avx512vl_fmsub_v4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V4SFmode,
	operand3)),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5401 */
rtx
gen_avx512vl_fmsub_v4sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V4SFmode,
	operand3)),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5401 */
rtx
gen_avx512f_fmsub_v8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8DFmode,
	operand3)),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5401 */
rtx
gen_avx512f_fmsub_v8df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8DFmode,
	operand3)),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5401 */
rtx
gen_avx512vl_fmsub_v4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FMA (V4DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V4DFmode,
	operand3)),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5401 */
rtx
gen_avx512vl_fmsub_v4df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FMA (V4DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V4DFmode,
	operand3)),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5401 */
rtx
gen_avx512vl_fmsub_v2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V2DFmode,
	operand3)),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5401 */
rtx
gen_avx512vl_fmsub_v2df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V2DFmode,
	operand3)),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5418 */
rtx
gen_avx512bw_fmsub_v32hf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V32HFmode,
	operand3)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5418 */
rtx
gen_avx512bw_fmsub_v32hf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V32HFmode,
	operand3)),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5418 */
rtx
gen_avx512vl_fmsub_v16hf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FMA (V16HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V16HFmode,
	operand3)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5418 */
rtx
gen_avx512fp16_fmsub_v8hf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8HFmode,
	operand3)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5418 */
rtx
gen_avx512f_fmsub_v16sf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V16SFmode,
	operand3)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5418 */
rtx
gen_avx512f_fmsub_v16sf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V16SFmode,
	operand3)),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5418 */
rtx
gen_avx512vl_fmsub_v8sf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FMA (V8SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8SFmode,
	operand3)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5418 */
rtx
gen_avx512vl_fmsub_v4sf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V4SFmode,
	operand3)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5418 */
rtx
gen_avx512f_fmsub_v8df_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8DFmode,
	operand3)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5418 */
rtx
gen_avx512f_fmsub_v8df_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8DFmode,
	operand3)),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5418 */
rtx
gen_avx512vl_fmsub_v4df_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FMA (V4DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V4DFmode,
	operand3)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5418 */
rtx
gen_avx512vl_fmsub_v2df_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V2DFmode,
	operand3)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5465 */
rtx
gen_fma_fnmadd_v32hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	gen_rtx_NEG (V32HFmode,
	operand1),
	operand2,
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5465 */
rtx
gen_fma_fnmadd_v32hf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	gen_rtx_NEG (V32HFmode,
	operand1),
	operand2,
	operand3),
	operand4,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5465 */
rtx
gen_fma_fnmadd_v16hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FMA (V16HFmode,
	gen_rtx_NEG (V16HFmode,
	operand1),
	operand2,
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5465 */
rtx
gen_fma_fnmadd_v8hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	gen_rtx_NEG (V8HFmode,
	operand1),
	operand2,
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5465 */
rtx
gen_fma_fnmadd_v16sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	gen_rtx_NEG (V16SFmode,
	operand1),
	operand2,
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5465 */
rtx
gen_fma_fnmadd_v16sf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	gen_rtx_NEG (V16SFmode,
	operand1),
	operand2,
	operand3),
	operand4,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5465 */
rtx
gen_fma_fnmadd_v8sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FMA (V8SFmode,
	gen_rtx_NEG (V8SFmode,
	operand1),
	operand2,
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5465 */
rtx
gen_fma_fnmadd_v4sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand1),
	operand2,
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5465 */
rtx
gen_fma_fnmadd_v8df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	gen_rtx_NEG (V8DFmode,
	operand1),
	operand2,
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5465 */
rtx
gen_fma_fnmadd_v8df_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	gen_rtx_NEG (V8DFmode,
	operand1),
	operand2,
	operand3),
	operand4,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5465 */
rtx
gen_fma_fnmadd_v4df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FMA (V4DFmode,
	gen_rtx_NEG (V4DFmode,
	operand1),
	operand2,
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5465 */
rtx
gen_fma_fnmadd_v2df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand1),
	operand2,
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5504 */
rtx
gen_avx512bw_fnmadd_v32hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	gen_rtx_NEG (V32HFmode,
	operand1),
	operand2,
	operand3),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5504 */
rtx
gen_avx512bw_fnmadd_v32hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	gen_rtx_NEG (V32HFmode,
	operand1),
	operand2,
	operand3),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5504 */
rtx
gen_avx512vl_fnmadd_v16hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FMA (V16HFmode,
	gen_rtx_NEG (V16HFmode,
	operand1),
	operand2,
	operand3),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5504 */
rtx
gen_avx512fp16_fnmadd_v8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	gen_rtx_NEG (V8HFmode,
	operand1),
	operand2,
	operand3),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5504 */
rtx
gen_avx512f_fnmadd_v16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	gen_rtx_NEG (V16SFmode,
	operand1),
	operand2,
	operand3),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5504 */
rtx
gen_avx512f_fnmadd_v16sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	gen_rtx_NEG (V16SFmode,
	operand1),
	operand2,
	operand3),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5504 */
rtx
gen_avx512vl_fnmadd_v8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FMA (V8SFmode,
	gen_rtx_NEG (V8SFmode,
	operand1),
	operand2,
	operand3),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5504 */
rtx
gen_avx512vl_fnmadd_v4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand1),
	operand2,
	operand3),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5504 */
rtx
gen_avx512f_fnmadd_v8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	gen_rtx_NEG (V8DFmode,
	operand1),
	operand2,
	operand3),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5504 */
rtx
gen_avx512f_fnmadd_v8df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	gen_rtx_NEG (V8DFmode,
	operand1),
	operand2,
	operand3),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5504 */
rtx
gen_avx512vl_fnmadd_v4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FMA (V4DFmode,
	gen_rtx_NEG (V4DFmode,
	operand1),
	operand2,
	operand3),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5504 */
rtx
gen_avx512vl_fnmadd_v2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand1),
	operand2,
	operand3),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5521 */
rtx
gen_avx512bw_fnmadd_v32hf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	gen_rtx_NEG (V32HFmode,
	operand1),
	operand2,
	operand3),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5521 */
rtx
gen_avx512bw_fnmadd_v32hf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	gen_rtx_NEG (V32HFmode,
	operand1),
	operand2,
	operand3),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5521 */
rtx
gen_avx512vl_fnmadd_v16hf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FMA (V16HFmode,
	gen_rtx_NEG (V16HFmode,
	operand1),
	operand2,
	operand3),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5521 */
rtx
gen_avx512fp16_fnmadd_v8hf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	gen_rtx_NEG (V8HFmode,
	operand1),
	operand2,
	operand3),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5521 */
rtx
gen_avx512f_fnmadd_v16sf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	gen_rtx_NEG (V16SFmode,
	operand1),
	operand2,
	operand3),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5521 */
rtx
gen_avx512f_fnmadd_v16sf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	gen_rtx_NEG (V16SFmode,
	operand1),
	operand2,
	operand3),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5521 */
rtx
gen_avx512vl_fnmadd_v8sf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FMA (V8SFmode,
	gen_rtx_NEG (V8SFmode,
	operand1),
	operand2,
	operand3),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5521 */
rtx
gen_avx512vl_fnmadd_v4sf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand1),
	operand2,
	operand3),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5521 */
rtx
gen_avx512f_fnmadd_v8df_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	gen_rtx_NEG (V8DFmode,
	operand1),
	operand2,
	operand3),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5521 */
rtx
gen_avx512f_fnmadd_v8df_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	gen_rtx_NEG (V8DFmode,
	operand1),
	operand2,
	operand3),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5521 */
rtx
gen_avx512vl_fnmadd_v4df_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FMA (V4DFmode,
	gen_rtx_NEG (V4DFmode,
	operand1),
	operand2,
	operand3),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5521 */
rtx
gen_avx512vl_fnmadd_v2df_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand1),
	operand2,
	operand3),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5569 */
rtx
gen_fma_fnmsub_v32hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	gen_rtx_NEG (V32HFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V32HFmode,
	operand3)),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5569 */
rtx
gen_fma_fnmsub_v32hf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	gen_rtx_NEG (V32HFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V32HFmode,
	operand3)),
	operand4,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5569 */
rtx
gen_fma_fnmsub_v16hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FMA (V16HFmode,
	gen_rtx_NEG (V16HFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V16HFmode,
	operand3)),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5569 */
rtx
gen_fma_fnmsub_v8hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	gen_rtx_NEG (V8HFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V8HFmode,
	operand3)),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5569 */
rtx
gen_fma_fnmsub_v16sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	gen_rtx_NEG (V16SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V16SFmode,
	operand3)),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5569 */
rtx
gen_fma_fnmsub_v16sf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	gen_rtx_NEG (V16SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V16SFmode,
	operand3)),
	operand4,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5569 */
rtx
gen_fma_fnmsub_v8sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FMA (V8SFmode,
	gen_rtx_NEG (V8SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V8SFmode,
	operand3)),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5569 */
rtx
gen_fma_fnmsub_v4sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V4SFmode,
	operand3)),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5569 */
rtx
gen_fma_fnmsub_v8df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	gen_rtx_NEG (V8DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V8DFmode,
	operand3)),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5569 */
rtx
gen_fma_fnmsub_v8df_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	gen_rtx_NEG (V8DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V8DFmode,
	operand3)),
	operand4,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5569 */
rtx
gen_fma_fnmsub_v4df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FMA (V4DFmode,
	gen_rtx_NEG (V4DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V4DFmode,
	operand3)),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5569 */
rtx
gen_fma_fnmsub_v2df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V2DFmode,
	operand3)),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5610 */
rtx
gen_avx512bw_fnmsub_v32hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	gen_rtx_NEG (V32HFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V32HFmode,
	operand3)),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5610 */
rtx
gen_avx512bw_fnmsub_v32hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	gen_rtx_NEG (V32HFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V32HFmode,
	operand3)),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5610 */
rtx
gen_avx512vl_fnmsub_v16hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FMA (V16HFmode,
	gen_rtx_NEG (V16HFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V16HFmode,
	operand3)),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5610 */
rtx
gen_avx512fp16_fnmsub_v8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	gen_rtx_NEG (V8HFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V8HFmode,
	operand3)),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5610 */
rtx
gen_avx512f_fnmsub_v16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	gen_rtx_NEG (V16SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V16SFmode,
	operand3)),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5610 */
rtx
gen_avx512f_fnmsub_v16sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	gen_rtx_NEG (V16SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V16SFmode,
	operand3)),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5610 */
rtx
gen_avx512vl_fnmsub_v8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FMA (V8SFmode,
	gen_rtx_NEG (V8SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V8SFmode,
	operand3)),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5610 */
rtx
gen_avx512vl_fnmsub_v4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V4SFmode,
	operand3)),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5610 */
rtx
gen_avx512f_fnmsub_v8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	gen_rtx_NEG (V8DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V8DFmode,
	operand3)),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5610 */
rtx
gen_avx512f_fnmsub_v8df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	gen_rtx_NEG (V8DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V8DFmode,
	operand3)),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5610 */
rtx
gen_avx512vl_fnmsub_v4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FMA (V4DFmode,
	gen_rtx_NEG (V4DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V4DFmode,
	operand3)),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5610 */
rtx
gen_avx512vl_fnmsub_v2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V2DFmode,
	operand3)),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5628 */
rtx
gen_avx512bw_fnmsub_v32hf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	gen_rtx_NEG (V32HFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V32HFmode,
	operand3)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5628 */
rtx
gen_avx512bw_fnmsub_v32hf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	gen_rtx_NEG (V32HFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V32HFmode,
	operand3)),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5628 */
rtx
gen_avx512vl_fnmsub_v16hf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FMA (V16HFmode,
	gen_rtx_NEG (V16HFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V16HFmode,
	operand3)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5628 */
rtx
gen_avx512vl_fnmsub_v16hf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FMA (V16HFmode,
	gen_rtx_NEG (V16HFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V16HFmode,
	operand3)),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5628 */
rtx
gen_avx512fp16_fnmsub_v8hf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	gen_rtx_NEG (V8HFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V8HFmode,
	operand3)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5628 */
rtx
gen_avx512fp16_fnmsub_v8hf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	gen_rtx_NEG (V8HFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V8HFmode,
	operand3)),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5628 */
rtx
gen_avx512f_fnmsub_v16sf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	gen_rtx_NEG (V16SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V16SFmode,
	operand3)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5628 */
rtx
gen_avx512f_fnmsub_v16sf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	gen_rtx_NEG (V16SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V16SFmode,
	operand3)),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5628 */
rtx
gen_avx512vl_fnmsub_v8sf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FMA (V8SFmode,
	gen_rtx_NEG (V8SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V8SFmode,
	operand3)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5628 */
rtx
gen_avx512vl_fnmsub_v8sf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FMA (V8SFmode,
	gen_rtx_NEG (V8SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V8SFmode,
	operand3)),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5628 */
rtx
gen_avx512vl_fnmsub_v4sf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V4SFmode,
	operand3)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5628 */
rtx
gen_avx512vl_fnmsub_v4sf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V4SFmode,
	operand3)),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5628 */
rtx
gen_avx512f_fnmsub_v8df_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	gen_rtx_NEG (V8DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V8DFmode,
	operand3)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5628 */
rtx
gen_avx512f_fnmsub_v8df_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	gen_rtx_NEG (V8DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V8DFmode,
	operand3)),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5628 */
rtx
gen_avx512vl_fnmsub_v4df_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FMA (V4DFmode,
	gen_rtx_NEG (V4DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V4DFmode,
	operand3)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5628 */
rtx
gen_avx512vl_fnmsub_v4df_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FMA (V4DFmode,
	gen_rtx_NEG (V4DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V4DFmode,
	operand3)),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5628 */
rtx
gen_avx512vl_fnmsub_v2df_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V2DFmode,
	operand3)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5628 */
rtx
gen_avx512vl_fnmsub_v2df_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V2DFmode,
	operand3)),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5729 */
rtx
gen_fma_fmaddsub_v32hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5729 */
rtx
gen_fma_fmaddsub_v32hf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand4,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5729 */
rtx
gen_fma_fmaddsub_v16hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5729 */
rtx
gen_fma_fmaddsub_v8hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5729 */
rtx
gen_fma_fmaddsub_v16sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5729 */
rtx
gen_fma_fmaddsub_v16sf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand4,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5729 */
rtx
gen_fma_fmaddsub_v8sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5729 */
rtx
gen_fma_fmaddsub_v4sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5729 */
rtx
gen_fma_fmaddsub_v8df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5729 */
rtx
gen_fma_fmaddsub_v8df_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand4,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5729 */
rtx
gen_fma_fmaddsub_v4df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5729 */
rtx
gen_fma_fmaddsub_v2df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5744 */
rtx
gen_avx512bw_fmaddsub_v32hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5744 */
rtx
gen_avx512bw_fmaddsub_v32hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5744 */
rtx
gen_avx512vl_fmaddsub_v16hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5744 */
rtx
gen_avx512vl_fmaddsub_v16hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5744 */
rtx
gen_avx512fp16_fmaddsub_v8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5744 */
rtx
gen_avx512fp16_fmaddsub_v8hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5744 */
rtx
gen_avx512f_fmaddsub_v16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5744 */
rtx
gen_avx512f_fmaddsub_v16sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5744 */
rtx
gen_avx512vl_fmaddsub_v8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5744 */
rtx
gen_avx512vl_fmaddsub_v8sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5744 */
rtx
gen_avx512vl_fmaddsub_v4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5744 */
rtx
gen_avx512vl_fmaddsub_v4sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5744 */
rtx
gen_avx512f_fmaddsub_v8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5744 */
rtx
gen_avx512f_fmaddsub_v8df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5744 */
rtx
gen_avx512vl_fmaddsub_v4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5744 */
rtx
gen_avx512vl_fmaddsub_v4df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5744 */
rtx
gen_avx512vl_fmaddsub_v2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5744 */
rtx
gen_avx512vl_fmaddsub_v2df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5761 */
rtx
gen_avx512bw_fmaddsub_v32hf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5761 */
rtx
gen_avx512bw_fmaddsub_v32hf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5761 */
rtx
gen_avx512vl_fmaddsub_v16hf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5761 */
rtx
gen_avx512vl_fmaddsub_v16hf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5761 */
rtx
gen_avx512fp16_fmaddsub_v8hf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5761 */
rtx
gen_avx512fp16_fmaddsub_v8hf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5761 */
rtx
gen_avx512f_fmaddsub_v16sf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5761 */
rtx
gen_avx512f_fmaddsub_v16sf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5761 */
rtx
gen_avx512vl_fmaddsub_v8sf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5761 */
rtx
gen_avx512vl_fmaddsub_v8sf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5761 */
rtx
gen_avx512vl_fmaddsub_v4sf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5761 */
rtx
gen_avx512vl_fmaddsub_v4sf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5761 */
rtx
gen_avx512f_fmaddsub_v8df_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5761 */
rtx
gen_avx512f_fmaddsub_v8df_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5761 */
rtx
gen_avx512vl_fmaddsub_v4df_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5761 */
rtx
gen_avx512vl_fmaddsub_v4df_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5761 */
rtx
gen_avx512vl_fmaddsub_v2df_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5761 */
rtx
gen_avx512vl_fmaddsub_v2df_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5795 */
rtx
gen_fma_fmsubadd_v32hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V32HFmode,
	operand3)),
	119),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5795 */
rtx
gen_fma_fmsubadd_v32hf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V32HFmode,
	operand3)),
	119),
	operand4,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5795 */
rtx
gen_fma_fmsubadd_v16hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V16HFmode,
	operand3)),
	119),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5795 */
rtx
gen_fma_fmsubadd_v8hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V8HFmode,
	operand3)),
	119),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5795 */
rtx
gen_fma_fmsubadd_v16sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V16SFmode,
	operand3)),
	119),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5795 */
rtx
gen_fma_fmsubadd_v16sf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V16SFmode,
	operand3)),
	119),
	operand4,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5795 */
rtx
gen_fma_fmsubadd_v8sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V8SFmode,
	operand3)),
	119),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5795 */
rtx
gen_fma_fmsubadd_v4sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V4SFmode,
	operand3)),
	119),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5795 */
rtx
gen_fma_fmsubadd_v8df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V8DFmode,
	operand3)),
	119),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5795 */
rtx
gen_fma_fmsubadd_v8df_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V8DFmode,
	operand3)),
	119),
	operand4,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5795 */
rtx
gen_fma_fmsubadd_v4df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V4DFmode,
	operand3)),
	119),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5795 */
rtx
gen_fma_fmsubadd_v2df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V2DFmode,
	operand3)),
	119),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5811 */
rtx
gen_avx512bw_fmsubadd_v32hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V32HFmode,
	operand3)),
	119),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5811 */
rtx
gen_avx512bw_fmsubadd_v32hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V32HFmode,
	operand3)),
	119),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5811 */
rtx
gen_avx512vl_fmsubadd_v16hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V16HFmode,
	operand3)),
	119),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5811 */
rtx
gen_avx512vl_fmsubadd_v16hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V16HFmode,
	operand3)),
	119),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5811 */
rtx
gen_avx512fp16_fmsubadd_v8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V8HFmode,
	operand3)),
	119),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5811 */
rtx
gen_avx512fp16_fmsubadd_v8hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V8HFmode,
	operand3)),
	119),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5811 */
rtx
gen_avx512f_fmsubadd_v16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V16SFmode,
	operand3)),
	119),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5811 */
rtx
gen_avx512f_fmsubadd_v16sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V16SFmode,
	operand3)),
	119),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5811 */
rtx
gen_avx512vl_fmsubadd_v8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V8SFmode,
	operand3)),
	119),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5811 */
rtx
gen_avx512vl_fmsubadd_v8sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V8SFmode,
	operand3)),
	119),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5811 */
rtx
gen_avx512vl_fmsubadd_v4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V4SFmode,
	operand3)),
	119),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5811 */
rtx
gen_avx512vl_fmsubadd_v4sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V4SFmode,
	operand3)),
	119),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5811 */
rtx
gen_avx512f_fmsubadd_v8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V8DFmode,
	operand3)),
	119),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5811 */
rtx
gen_avx512f_fmsubadd_v8df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V8DFmode,
	operand3)),
	119),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5811 */
rtx
gen_avx512vl_fmsubadd_v4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V4DFmode,
	operand3)),
	119),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5811 */
rtx
gen_avx512vl_fmsubadd_v4df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V4DFmode,
	operand3)),
	119),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5811 */
rtx
gen_avx512vl_fmsubadd_v2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V2DFmode,
	operand3)),
	119),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5811 */
rtx
gen_avx512vl_fmsubadd_v2df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V2DFmode,
	operand3)),
	119),
	operand1,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5829 */
rtx
gen_avx512bw_fmsubadd_v32hf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V32HFmode,
	operand3)),
	119),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5829 */
rtx
gen_avx512bw_fmsubadd_v32hf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V32HFmode,
	operand3)),
	119),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5829 */
rtx
gen_avx512vl_fmsubadd_v16hf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V16HFmode,
	operand3)),
	119),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5829 */
rtx
gen_avx512vl_fmsubadd_v16hf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V16HFmode,
	operand3)),
	119),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5829 */
rtx
gen_avx512fp16_fmsubadd_v8hf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V8HFmode,
	operand3)),
	119),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5829 */
rtx
gen_avx512fp16_fmsubadd_v8hf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V8HFmode,
	operand3)),
	119),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5829 */
rtx
gen_avx512f_fmsubadd_v16sf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V16SFmode,
	operand3)),
	119),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5829 */
rtx
gen_avx512f_fmsubadd_v16sf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V16SFmode,
	operand3)),
	119),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5829 */
rtx
gen_avx512vl_fmsubadd_v8sf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V8SFmode,
	operand3)),
	119),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5829 */
rtx
gen_avx512vl_fmsubadd_v8sf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V8SFmode,
	operand3)),
	119),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5829 */
rtx
gen_avx512vl_fmsubadd_v4sf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V4SFmode,
	operand3)),
	119),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5829 */
rtx
gen_avx512vl_fmsubadd_v4sf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V4SFmode,
	operand3)),
	119),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5829 */
rtx
gen_avx512f_fmsubadd_v8df_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V8DFmode,
	operand3)),
	119),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5829 */
rtx
gen_avx512f_fmsubadd_v8df_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V8DFmode,
	operand3)),
	119),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5829 */
rtx
gen_avx512vl_fmsubadd_v4df_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V4DFmode,
	operand3)),
	119),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5829 */
rtx
gen_avx512vl_fmsubadd_v4df_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V4DFmode,
	operand3)),
	119),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5829 */
rtx
gen_avx512vl_fmsubadd_v2df_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V2DFmode,
	operand3)),
	119),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5829 */
rtx
gen_avx512vl_fmsubadd_v2df_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V2DFmode,
	operand3)),
	119),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5964 */
rtx
gen_avx512f_vmfmadd_v8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5964 */
rtx
gen_avx512f_vmfmadd_v8hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5964 */
rtx
gen_avx512f_vmfmadd_v4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5964 */
rtx
gen_avx512f_vmfmadd_v4sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5964 */
rtx
gen_avx512f_vmfmadd_v2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5964 */
rtx
gen_avx512f_vmfmadd_v2df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5983 */
rtx
gen_avx512f_vmfmadd_v8hf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4),
	operand3,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5983 */
rtx
gen_avx512f_vmfmadd_v8hf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4),
	operand3,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5983 */
rtx
gen_avx512f_vmfmadd_v4sf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4),
	operand3,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5983 */
rtx
gen_avx512f_vmfmadd_v4sf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4),
	operand3,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5983 */
rtx
gen_avx512f_vmfmadd_v2df_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4),
	operand3,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5983 */
rtx
gen_avx512f_vmfmadd_v2df_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	operand3),
	operand3,
	operand4),
	operand3,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6014 */
rtx
gen_avx512f_vmfmadd_v8hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	operand3),
	operand4,
	operand5),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6014 */
rtx
gen_avx512f_vmfmadd_v8hf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	operand3),
	operand4,
	operand5),
	operand1,
	const1_rtx),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6014 */
rtx
gen_avx512f_vmfmadd_v4sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	operand3),
	operand4,
	operand5),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6014 */
rtx
gen_avx512f_vmfmadd_v4sf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	operand3),
	operand4,
	operand5),
	operand1,
	const1_rtx),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6014 */
rtx
gen_avx512f_vmfmadd_v2df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	operand3),
	operand4,
	operand5),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6014 */
rtx
gen_avx512f_vmfmadd_v2df_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	operand3),
	operand4,
	operand5),
	operand1,
	const1_rtx),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6053 */
rtx
gen_avx512f_vmfmsub_v8hf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8HFmode,
	operand3)),
	operand3,
	operand4),
	operand3,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6053 */
rtx
gen_avx512f_vmfmsub_v8hf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8HFmode,
	operand3)),
	operand3,
	operand4),
	operand3,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6053 */
rtx
gen_avx512f_vmfmsub_v4sf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V4SFmode,
	operand3)),
	operand3,
	operand4),
	operand3,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6053 */
rtx
gen_avx512f_vmfmsub_v4sf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V4SFmode,
	operand3)),
	operand3,
	operand4),
	operand3,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6053 */
rtx
gen_avx512f_vmfmsub_v2df_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V2DFmode,
	operand3)),
	operand3,
	operand4),
	operand3,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6053 */
rtx
gen_avx512f_vmfmsub_v2df_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V2DFmode,
	operand3)),
	operand3,
	operand4),
	operand3,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6091 */
rtx
gen_avx512f_vmfnmadd_v8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	gen_rtx_NEG (V8HFmode,
	operand2),
	operand1,
	operand3),
	operand1,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6091 */
rtx
gen_avx512f_vmfnmadd_v8hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	gen_rtx_NEG (V8HFmode,
	operand2),
	operand1,
	operand3),
	operand1,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6091 */
rtx
gen_avx512f_vmfnmadd_v4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand2),
	operand1,
	operand3),
	operand1,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6091 */
rtx
gen_avx512f_vmfnmadd_v4sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand2),
	operand1,
	operand3),
	operand1,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6091 */
rtx
gen_avx512f_vmfnmadd_v2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand2),
	operand1,
	operand3),
	operand1,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6091 */
rtx
gen_avx512f_vmfnmadd_v2df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand2),
	operand1,
	operand3),
	operand1,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6111 */
rtx
gen_avx512f_vmfnmadd_v8hf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	gen_rtx_NEG (V8HFmode,
	operand2),
	operand1,
	operand3),
	operand3,
	operand4),
	operand3,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6111 */
rtx
gen_avx512f_vmfnmadd_v8hf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	gen_rtx_NEG (V8HFmode,
	operand2),
	operand1,
	operand3),
	operand3,
	operand4),
	operand3,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6111 */
rtx
gen_avx512f_vmfnmadd_v4sf_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand2),
	operand1,
	operand3),
	operand3,
	operand4),
	operand3,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6111 */
rtx
gen_avx512f_vmfnmadd_v4sf_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand2),
	operand1,
	operand3),
	operand3,
	operand4),
	operand3,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6111 */
rtx
gen_avx512f_vmfnmadd_v2df_mask3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand2),
	operand1,
	operand3),
	operand3,
	operand4),
	operand3,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6111 */
rtx
gen_avx512f_vmfnmadd_v2df_mask3_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand2),
	operand1,
	operand3),
	operand3,
	operand4),
	operand3,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6143 */
rtx
gen_avx512f_vmfnmadd_v8hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	gen_rtx_NEG (V8HFmode,
	operand2),
	operand1,
	operand3),
	operand4,
	operand5),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6143 */
rtx
gen_avx512f_vmfnmadd_v8hf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	gen_rtx_NEG (V8HFmode,
	operand2),
	operand1,
	operand3),
	operand4,
	operand5),
	operand1,
	const1_rtx),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6143 */
rtx
gen_avx512f_vmfnmadd_v4sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand2),
	operand1,
	operand3),
	operand4,
	operand5),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6143 */
rtx
gen_avx512f_vmfnmadd_v4sf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand2),
	operand1,
	operand3),
	operand4,
	operand5),
	operand1,
	const1_rtx),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6143 */
rtx
gen_avx512f_vmfnmadd_v2df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand2),
	operand1,
	operand3),
	operand4,
	operand5),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6143 */
rtx
gen_avx512f_vmfnmadd_v2df_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand2),
	operand1,
	operand3),
	operand4,
	operand5),
	operand1,
	const1_rtx),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6442 */
rtx
gen_fma_fmaddc_v32hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6442 */
rtx
gen_fma_fmaddc_v32hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6442 */
rtx
gen_fma_fmaddc_v32hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212),
	operand4,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand5),
	218)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6442 */
rtx
gen_fma_fmaddc_v32hf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212),
	operand4,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand5),
	218)),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6442 */
rtx
gen_fma_fcmaddc_v32hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6442 */
rtx
gen_fma_fcmaddc_v32hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6442 */
rtx
gen_fma_fcmaddc_v32hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214),
	operand4,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand5),
	218)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6442 */
rtx
gen_fma_fcmaddc_v32hf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214),
	operand4,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand5),
	218)),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6442 */
rtx
gen_fma_fmaddc_v16hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6442 */
rtx
gen_fma_fmaddc_v16hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212),
	operand4,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (1,
		operand5),
	218)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6442 */
rtx
gen_fma_fcmaddc_v16hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6442 */
rtx
gen_fma_fcmaddc_v16hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214),
	operand4,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (1,
		operand5),
	218)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6442 */
rtx
gen_fma_fmaddc_v8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6442 */
rtx
gen_fma_fmaddc_v8hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212),
	operand4,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand5),
	218)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6442 */
rtx
gen_fma_fcmaddc_v8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6442 */
rtx
gen_fma_fcmaddc_v8hf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214),
	operand4,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand5),
	218)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6454 */
rtx
gen_fma_v32hf_fadd_fmul (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	216),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6454 */
rtx
gen_fma_v16hf_fadd_fmul (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	216),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6454 */
rtx
gen_fma_v8hf_fadd_fmul (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	216),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6471 */
rtx
gen_fma_v32hf_fadd_fcmul (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	217),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6471 */
rtx
gen_fma_v16hf_fadd_fcmul (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	217),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6471 */
rtx
gen_fma_v8hf_fadd_fcmul (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	217),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6488 */
rtx
gen_fma_fmaddc_v32hf_fma_zero (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6488 */
rtx
gen_fma_fcmaddc_v32hf_fma_zero (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6488 */
rtx
gen_fma_fmaddc_v16hf_fma_zero (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6488 */
rtx
gen_fma_fcmaddc_v16hf_fma_zero (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6488 */
rtx
gen_fma_fmaddc_v8hf_fma_zero (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6488 */
rtx
gen_fma_fcmaddc_v8hf_fma_zero (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214),
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6506 */
rtx
gen_fma_fmaddc_v16sf_pair (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	213));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6506 */
rtx
gen_fma_fcmaddc_v16sf_pair (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	215));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6506 */
rtx
gen_fma_fmaddc_v8sf_pair (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	213));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6506 */
rtx
gen_fma_fcmaddc_v8sf_pair (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	215));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6506 */
rtx
gen_fma_fmaddc_v4sf_pair (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	213));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6506 */
rtx
gen_fma_fcmaddc_v4sf_pair (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	215));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6517 */
rtx
gen_fma_v32hf_fmaddc_bcst (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		gen_rtx_SUBREG (V32HFmode,
	operand2,
	0),
		operand3),
	212));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6517 */
rtx
gen_fma_v16hf_fmaddc_bcst (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		gen_rtx_SUBREG (V16HFmode,
	operand2,
	0),
		operand3),
	212));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6517 */
rtx
gen_fma_v8hf_fmaddc_bcst (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		gen_rtx_SUBREG (V8HFmode,
	operand2,
	0),
		operand3),
	212));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6544 */
rtx
gen_fma_v32hf_fcmaddc_bcst (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		gen_rtx_SUBREG (V32HFmode,
	operand2,
	0),
		operand3),
	214));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6544 */
rtx
gen_fma_v16hf_fcmaddc_bcst (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		gen_rtx_SUBREG (V16HFmode,
	operand2,
	0),
		operand3),
	214));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6544 */
rtx
gen_fma_v8hf_fcmaddc_bcst (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		gen_rtx_SUBREG (V8HFmode,
	operand2,
	0),
		operand3),
	214));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6572 */
rtx
gen_avx512bw_fmaddc_v32hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212),
	operand1,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand4),
	218)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6572 */
rtx
gen_avx512bw_fmaddc_v32hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212),
	operand1,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand4),
	218)),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6572 */
rtx
gen_avx512bw_fcmaddc_v32hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214),
	operand1,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand4),
	218)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6572 */
rtx
gen_avx512bw_fcmaddc_v32hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214),
	operand1,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand4),
	218)),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6572 */
rtx
gen_avx512vl_fmaddc_v16hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212),
	operand1,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (1,
		operand4),
	218)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6572 */
rtx
gen_avx512vl_fcmaddc_v16hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214),
	operand1,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (1,
		operand4),
	218)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6572 */
rtx
gen_avx512fp16_fmaddc_v8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212),
	operand1,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand4),
	218)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6572 */
rtx
gen_avx512fp16_fcmaddc_v8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214),
	operand1,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand4),
	218)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6597 */
rtx
gen_avx512bw_fmulc_v32hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	216));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6597 */
rtx
gen_avx512bw_fmulc_v32hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	216),
	operand3,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand4),
	218)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6597 */
rtx
gen_avx512bw_fmulc_v32hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	216),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6597 */
rtx
gen_avx512bw_fmulc_v32hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	216),
	operand3,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand4),
	218)),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6597 */
rtx
gen_avx512bw_fcmulc_v32hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	217));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6597 */
rtx
gen_avx512bw_fcmulc_v32hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	217),
	operand3,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand4),
	218)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6597 */
rtx
gen_avx512bw_fcmulc_v32hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	217),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6597 */
rtx
gen_avx512bw_fcmulc_v32hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	217),
	operand3,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand4),
	218)),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6597 */
rtx
gen_avx512vl_fmulc_v16hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	216));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6597 */
rtx
gen_avx512vl_fmulc_v16hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	216),
	operand3,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (1,
		operand4),
	218)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6597 */
rtx
gen_avx512vl_fcmulc_v16hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	217));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6597 */
rtx
gen_avx512vl_fcmulc_v16hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	217),
	operand3,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (1,
		operand4),
	218)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6597 */
rtx
gen_avx512fp16_fmulc_v8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	216));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6597 */
rtx
gen_avx512fp16_fmulc_v8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	216),
	operand3,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand4),
	218)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6597 */
rtx
gen_avx512fp16_fcmulc_v8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	217));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6597 */
rtx
gen_avx512fp16_fcmulc_v8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	217),
	operand3,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand4),
	218)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6761 */
rtx
gen_avx512fp16_fma_fmaddcsh_v8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212),
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (3)]));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6761 */
rtx
gen_avx512fp16_fma_fmaddcsh_v8hf_maskz (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212),
	operand4,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand5),
	218)),
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (3)]));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6761 */
rtx
gen_avx512fp16_fma_fmaddcsh_v8hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212),
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (3)]),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6761 */
rtx
gen_avx512fp16_fma_fmaddcsh_v8hf_maskz_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212),
	operand4,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand5),
	218)),
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (3)]),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6761 */
rtx
gen_avx512fp16_fma_fcmaddcsh_v8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214),
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (3)]));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6761 */
rtx
gen_avx512fp16_fma_fcmaddcsh_v8hf_maskz (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214),
	operand4,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand5),
	218)),
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (3)]));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6761 */
rtx
gen_avx512fp16_fma_fcmaddcsh_v8hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214),
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (3)]),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6761 */
rtx
gen_avx512fp16_fma_fcmaddcsh_v8hf_maskz_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214),
	operand4,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand5),
	218)),
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (3)]),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6776 */
rtx
gen_avx512fp16_fmaddcsh_v8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212),
	operand1,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand4),
	218)),
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (3)]));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6776 */
rtx
gen_avx512fp16_fmaddcsh_v8hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212),
	operand1,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand4),
	218)),
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (3)]),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6776 */
rtx
gen_avx512fp16_fcmaddcsh_v8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214),
	operand1,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand4),
	218)),
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (3)]));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6776 */
rtx
gen_avx512fp16_fcmaddcsh_v8hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214),
	operand1,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand4),
	218)),
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (3)]),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6795 */
rtx
gen_avx512fp16_fmulcsh_v8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	216),
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (3)]));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6795 */
rtx
gen_avx512fp16_fmulcsh_v8hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	216),
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (3)]),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6795 */
rtx
gen_avx512fp16_fmulcsh_v8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	216),
	operand3,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand4),
	218)),
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (3)]));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6795 */
rtx
gen_avx512fp16_fmulcsh_v8hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	216),
	operand3,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand4),
	218)),
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (3)]),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6795 */
rtx
gen_avx512fp16_fcmulcsh_v8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	217),
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (3)]));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6795 */
rtx
gen_avx512fp16_fcmulcsh_v8hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	217),
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (3)]),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6795 */
rtx
gen_avx512fp16_fcmulcsh_v8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	217),
	operand3,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand4),
	218)),
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (3)]));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6795 */
rtx
gen_avx512fp16_fcmulcsh_v8hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	217),
	operand3,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand4),
	218)),
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (3)]),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uw_v32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (1,
		operand1),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uw_v32hi_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (1,
		operand1),
	142),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uw_v32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uw_v32hi_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2w_v32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2w_v32hi_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (1,
		operand1),
	41),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2w_v32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2w_v32hi_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2udq_v16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (1,
		operand1),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2udq_v16si_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (1,
		operand1),
	142),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2udq_v16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2udq_v16si_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2dq_v16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2dq_v16si_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (1,
		operand1),
	41),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2dq_v16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2dq_v16si_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uqq_v8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uqq_v8di_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	142),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uqq_v8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uqq_v8di_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2qq_v8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2qq_v8di_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	41),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2qq_v8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2qq_v8di_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uw_v16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (1,
		operand1),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uw_v16hi_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (1,
		operand1),
	142),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uw_v16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uw_v16hi_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2w_v16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2w_v16hi_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (1,
		operand1),
	41),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2w_v16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2w_v16hi_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2udq_v8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2udq_v8si_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	142),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2udq_v8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2udq_v8si_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2dq_v8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2dq_v8si_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	41),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2dq_v8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2dq_v8si_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uqq_v4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (1,
		operand1),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uqq_v4di_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (1,
		operand1),
	142),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uqq_v4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uqq_v4di_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2qq_v4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2qq_v4di_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (1,
		operand1),
	41),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2qq_v4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2qq_v4di_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uw_v8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (1,
		operand1),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uw_v8hi_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (1,
		operand1),
	142),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uw_v8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uw_v8hi_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2w_v8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2w_v8hi_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (1,
		operand1),
	41),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2w_v8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2w_v8hi_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2udq_v4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2udq_v4si_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	142),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2udq_v4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2udq_v4si_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2dq_v4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2dq_v4si_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	41),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2dq_v4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2dq_v4si_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uqq_v2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (1,
		operand1),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uqq_v2di_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (1,
		operand1),
	142),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uqq_v2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2uqq_v2di_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2qq_v2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2qq_v2di_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (1,
		operand1),
	41),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2qq_v2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6834 */
rtx
gen_avx512fp16_vcvtph2qq_v2di_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtw2ph_v8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V8HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtw2ph_v8hi_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_FLOAT (V8HFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtw2ph_v8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FLOAT (V8HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtw2ph_v8hi_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FLOAT (V8HFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtuw2ph_v8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V8HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtuw2ph_v8hi_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FLOAT (V8HFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtuw2ph_v8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSIGNED_FLOAT (V8HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtuw2ph_v8hi_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSIGNED_FLOAT (V8HFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtw2ph_v16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V16HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtw2ph_v16hi_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_FLOAT (V16HFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtw2ph_v16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FLOAT (V16HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtw2ph_v16hi_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FLOAT (V16HFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtuw2ph_v16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V16HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtuw2ph_v16hi_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FLOAT (V16HFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtuw2ph_v16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSIGNED_FLOAT (V16HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtuw2ph_v16hi_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSIGNED_FLOAT (V16HFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtw2ph_v32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V32HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtw2ph_v32hi_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_FLOAT (V32HFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtw2ph_v32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FLOAT (V32HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtw2ph_v32hi_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FLOAT (V32HFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtuw2ph_v32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V32HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtuw2ph_v32hi_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FLOAT (V32HFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtuw2ph_v32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSIGNED_FLOAT (V32HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtuw2ph_v32hi_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSIGNED_FLOAT (V32HFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtdq2ph_v8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V8HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtdq2ph_v8si_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_FLOAT (V8HFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtdq2ph_v8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FLOAT (V8HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtdq2ph_v8si_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FLOAT (V8HFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtudq2ph_v8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V8HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtudq2ph_v8si_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FLOAT (V8HFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtudq2ph_v8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSIGNED_FLOAT (V8HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtudq2ph_v8si_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSIGNED_FLOAT (V8HFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtdq2ph_v16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V16HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtdq2ph_v16si_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_FLOAT (V16HFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtdq2ph_v16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FLOAT (V16HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtdq2ph_v16si_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FLOAT (V16HFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtudq2ph_v16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V16HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtudq2ph_v16si_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FLOAT (V16HFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtudq2ph_v16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSIGNED_FLOAT (V16HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtudq2ph_v16si_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSIGNED_FLOAT (V16HFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtqq2ph_v8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V8HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtqq2ph_v8di_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_FLOAT (V8HFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtqq2ph_v8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FLOAT (V8HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtqq2ph_v8di_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FLOAT (V8HFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtuqq2ph_v8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V8HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtuqq2ph_v8di_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FLOAT (V8HFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtuqq2ph_v8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSIGNED_FLOAT (V8HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6851 */
rtx
gen_avx512fp16_vcvtuqq2ph_v8di_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSIGNED_FLOAT (V8HFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7013 */
rtx
gen_avx512fp16_vcvtsh2usi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7013 */
rtx
gen_avx512fp16_vcvtsh2usi_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	142),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7013 */
rtx
gen_avx512fp16_vcvtsh2si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7013 */
rtx
gen_avx512fp16_vcvtsh2si_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	41),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7013 */
rtx
gen_avx512fp16_vcvtsh2usiq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7013 */
rtx
gen_avx512fp16_vcvtsh2usiq_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	142),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7013 */
rtx
gen_avx512fp16_vcvtsh2siq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7013 */
rtx
gen_avx512fp16_vcvtsh2siq_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	41),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7026 */
rtx
gen_avx512fp16_vcvtsh2usi_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7026 */
rtx
gen_avx512fp16_vcvtsh2si_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7026 */
rtx
gen_avx512fp16_vcvtsh2usiq_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7026 */
rtx
gen_avx512fp16_vcvtsh2siq_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7039 */
rtx
gen_avx512fp16_vcvtsi2sh (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_FLOAT (HFmode,
	operand2)),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7039 */
rtx
gen_avx512fp16_vcvtsi2sh_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_FLOAT (HFmode,
	operand2)),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7039 */
rtx
gen_avx512fp16_vcvtusi2sh (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_UNSIGNED_FLOAT (HFmode,
	operand2)),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7039 */
rtx
gen_avx512fp16_vcvtusi2sh_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_UNSIGNED_FLOAT (HFmode,
	operand2)),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7039 */
rtx
gen_avx512fp16_vcvtsi2shq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_FLOAT (HFmode,
	operand2)),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7039 */
rtx
gen_avx512fp16_vcvtsi2shq_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_FLOAT (HFmode,
	operand2)),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7039 */
rtx
gen_avx512fp16_vcvtusi2shq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_UNSIGNED_FLOAT (HFmode,
	operand2)),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7039 */
rtx
gen_avx512fp16_vcvtusi2shq_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_UNSIGNED_FLOAT (HFmode,
	operand2)),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv8hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V8HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv8hi2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (2,
		gen_rtx_FIX (V8HImode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv8hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_FIX (V8HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv8hi2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_FIX (V8HImode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv8hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V8HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv8hi2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FIX (V8HImode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv8hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSIGNED_FIX (V8HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv8hi2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSIGNED_FIX (V8HImode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv16hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V16HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv16hi2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (2,
		gen_rtx_FIX (V16HImode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv16hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_FIX (V16HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv16hi2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_FIX (V16HImode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv16hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V16HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv16hi2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FIX (V16HImode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv16hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSIGNED_FIX (V16HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv16hi2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSIGNED_FIX (V16HImode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv32hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V32HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv32hi2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (2,
		gen_rtx_FIX (V32HImode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv32hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_FIX (V32HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv32hi2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_FIX (V32HImode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv32hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V32HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv32hi2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FIX (V32HImode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv32hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSIGNED_FIX (V32HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv32hi2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSIGNED_FIX (V32HImode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv8si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V8SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv8si2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		gen_rtx_FIX (V8SImode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv8si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_FIX (V8SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv8si2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_FIX (V8SImode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv8si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V8SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv8si2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FIX (V8SImode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv8si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSIGNED_FIX (V8SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv8si2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSIGNED_FIX (V8SImode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv16si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V16SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv16si2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		gen_rtx_FIX (V16SImode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv16si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_FIX (V16SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv16si2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_FIX (V16SImode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv16si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V16SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv16si2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FIX (V16SImode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv16si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSIGNED_FIX (V16SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv16si2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSIGNED_FIX (V16SImode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv8di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V8DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv8di2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_FIX (V8DImode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv8di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_FIX (V8DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fix_truncv8di2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_FIX (V8DImode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv8di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V8DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv8di2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FIX (V8DImode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv8di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSIGNED_FIX (V8DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7059 */
rtx
gen_avx512fp16_fixuns_truncv8di2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSIGNED_FIX (V8DImode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7086 */
rtx
gen_avx512fp16_fix_truncv4si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V4SImode,
	gen_rtx_VEC_SELECT (V4HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7086 */
rtx
gen_avx512fp16_fix_truncv4si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_FIX (V4SImode,
	gen_rtx_VEC_SELECT (V4HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7086 */
rtx
gen_avx512fp16_fixuns_truncv4si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V4SImode,
	gen_rtx_VEC_SELECT (V4HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7086 */
rtx
gen_avx512fp16_fixuns_truncv4si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSIGNED_FIX (V4SImode,
	gen_rtx_VEC_SELECT (V4HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7086 */
rtx
gen_avx512fp16_fix_truncv4di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V4DImode,
	gen_rtx_VEC_SELECT (V4HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7086 */
rtx
gen_avx512fp16_fix_truncv4di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_FIX (V4DImode,
	gen_rtx_VEC_SELECT (V4HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7086 */
rtx
gen_avx512fp16_fixuns_truncv4di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V4DImode,
	gen_rtx_VEC_SELECT (V4HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7086 */
rtx
gen_avx512fp16_fixuns_truncv4di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSIGNED_FIX (V4DImode,
	gen_rtx_VEC_SELECT (V4HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7125 */
rtx
gen_avx512fp16_fix_truncv2di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V2DImode,
	gen_rtx_VEC_SELECT (V2HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7125 */
rtx
gen_avx512fp16_fix_truncv2di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_FIX (V2DImode,
	gen_rtx_VEC_SELECT (V2HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7125 */
rtx
gen_avx512fp16_fixuns_truncv2di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V2DImode,
	gen_rtx_VEC_SELECT (V2HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7125 */
rtx
gen_avx512fp16_fixuns_truncv2di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSIGNED_FIX (V2DImode,
	gen_rtx_VEC_SELECT (V2HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7147 */
rtx
gen_avx512fp16_fix_truncsi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (SImode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7147 */
rtx
gen_avx512fp16_fix_truncsi2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		gen_rtx_FIX (SImode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7147 */
rtx
gen_avx512fp16_fixuns_truncsi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (SImode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7147 */
rtx
gen_avx512fp16_fixuns_truncsi2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FIX (SImode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7147 */
rtx
gen_avx512fp16_fix_truncdi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (DImode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7147 */
rtx
gen_avx512fp16_fix_truncdi2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		gen_rtx_FIX (DImode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7147 */
rtx
gen_avx512fp16_fixuns_truncdi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (DImode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7147 */
rtx
gen_avx512fp16_fixuns_truncdi2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FIX (DImode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7159 */
rtx
gen_avx512fp16_fix_truncsi2_mem (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7159 */
rtx
gen_avx512fp16_fixuns_truncsi2_mem (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7159 */
rtx
gen_avx512fp16_fix_truncdi2_mem (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7159 */
rtx
gen_avx512fp16_fixuns_truncdi2_mem (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7179 */
rtx
gen_avx512fp16_float_extend_phv8df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V8DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7179 */
rtx
gen_avx512fp16_float_extend_phv8df2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_FLOAT_EXTEND (V8DFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7179 */
rtx
gen_avx512fp16_float_extend_phv8df2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FLOAT_EXTEND (V8DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7179 */
rtx
gen_avx512fp16_float_extend_phv8df2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FLOAT_EXTEND (V8DFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7179 */
rtx
gen_avx512fp16_float_extend_phv16sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V16SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7179 */
rtx
gen_avx512fp16_float_extend_phv16sf2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_FLOAT_EXTEND (V16SFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7179 */
rtx
gen_avx512fp16_float_extend_phv16sf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FLOAT_EXTEND (V16SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7179 */
rtx
gen_avx512fp16_float_extend_phv16sf2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FLOAT_EXTEND (V16SFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7179 */
rtx
gen_avx512fp16_float_extend_phv8sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V8SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7179 */
rtx
gen_avx512fp16_float_extend_phv8sf2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_FLOAT_EXTEND (V8SFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7179 */
rtx
gen_avx512fp16_float_extend_phv8sf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FLOAT_EXTEND (V8SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7179 */
rtx
gen_avx512fp16_float_extend_phv8sf2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FLOAT_EXTEND (V8SFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7206 */
rtx
gen_avx512fp16_float_extend_phv4df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V4DFmode,
	gen_rtx_VEC_SELECT (V4HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7206 */
rtx
gen_avx512fp16_float_extend_phv4df2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FLOAT_EXTEND (V4DFmode,
	gen_rtx_VEC_SELECT (V4HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7206 */
rtx
gen_avx512fp16_float_extend_phv4sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V4SFmode,
	gen_rtx_VEC_SELECT (V4HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7206 */
rtx
gen_avx512fp16_float_extend_phv4sf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FLOAT_EXTEND (V4SFmode,
	gen_rtx_VEC_SELECT (V4HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7245 */
rtx
gen_avx512fp16_float_extend_phv2df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V2DFmode,
	gen_rtx_VEC_SELECT (V2HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7245 */
rtx
gen_avx512fp16_float_extend_phv2df2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FLOAT_EXTEND (V2DFmode,
	gen_rtx_VEC_SELECT (V2HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7273 */
rtx
gen_avx512fp16_vcvtpd2ph_v8df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_TRUNCATE (V8HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7273 */
rtx
gen_avx512fp16_vcvtpd2ph_v8df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_FLOAT_TRUNCATE (V8HFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7273 */
rtx
gen_avx512fp16_vcvtpd2ph_v8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FLOAT_TRUNCATE (V8HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7273 */
rtx
gen_avx512fp16_vcvtpd2ph_v8df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FLOAT_TRUNCATE (V8HFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7273 */
rtx
gen_avx512fp16_vcvtps2ph_v16sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_TRUNCATE (V16HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7273 */
rtx
gen_avx512fp16_vcvtps2ph_v16sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_FLOAT_TRUNCATE (V16HFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7273 */
rtx
gen_avx512fp16_vcvtps2ph_v16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FLOAT_TRUNCATE (V16HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7273 */
rtx
gen_avx512fp16_vcvtps2ph_v16sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FLOAT_TRUNCATE (V16HFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7273 */
rtx
gen_avx512fp16_vcvtps2ph_v8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_TRUNCATE (V8HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7273 */
rtx
gen_avx512fp16_vcvtps2ph_v8sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_FLOAT_TRUNCATE (V8HFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7273 */
rtx
gen_avx512fp16_vcvtps2ph_v8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FLOAT_TRUNCATE (V8HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7273 */
rtx
gen_avx512fp16_vcvtps2ph_v8sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FLOAT_TRUNCATE (V8HFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7440 */
rtx
gen_avx512fp16_vcvtsh2sd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	gen_rtx_FLOAT_EXTEND (DFmode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))))),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7440 */
rtx
gen_avx512fp16_vcvtsh2sd_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	gen_rtx_FLOAT_EXTEND (DFmode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))))),
	operand3,
	operand4),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7440 */
rtx
gen_avx512fp16_vcvtsh2sd_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	gen_rtx_FLOAT_EXTEND (DFmode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))))),
	operand2,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7440 */
rtx
gen_avx512fp16_vcvtsh2sd_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	gen_rtx_FLOAT_EXTEND (DFmode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))))),
	operand3,
	operand4),
	operand2,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7440 */
rtx
gen_avx512fp16_vcvtsh2ss (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_FLOAT_EXTEND (SFmode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))))),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7440 */
rtx
gen_avx512fp16_vcvtsh2ss_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_FLOAT_EXTEND (SFmode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))))),
	operand3,
	operand4),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7440 */
rtx
gen_avx512fp16_vcvtsh2ss_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_FLOAT_EXTEND (SFmode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))))),
	operand2,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7440 */
rtx
gen_avx512fp16_vcvtsh2ss_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_FLOAT_EXTEND (SFmode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))))),
	operand3,
	operand4),
	operand2,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7456 */
rtx
gen_avx512fp16_vcvtsh2sd_mem (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	gen_rtx_FLOAT_EXTEND (DFmode,
	operand1)),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7456 */
rtx
gen_avx512fp16_vcvtsh2sd_mask_mem (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	gen_rtx_FLOAT_EXTEND (DFmode,
	operand1)),
	operand3,
	operand4),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7456 */
rtx
gen_avx512fp16_vcvtsh2ss_mem (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_FLOAT_EXTEND (SFmode,
	operand1)),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7456 */
rtx
gen_avx512fp16_vcvtsh2ss_mask_mem (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_FLOAT_EXTEND (SFmode,
	operand1)),
	operand3,
	operand4),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7470 */
rtx
gen_avx512fp16_vcvtsd2sh (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_FLOAT_TRUNCATE (HFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))))),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7470 */
rtx
gen_avx512fp16_vcvtsd2sh_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_FLOAT_TRUNCATE (HFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))))),
	operand2,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7470 */
rtx
gen_avx512fp16_vcvtsd2sh_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_FLOAT_TRUNCATE (HFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))))),
	operand3,
	operand4),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7470 */
rtx
gen_avx512fp16_vcvtsd2sh_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_FLOAT_TRUNCATE (HFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))))),
	operand3,
	operand4),
	operand2,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7470 */
rtx
gen_avx512fp16_vcvtss2sh (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_FLOAT_TRUNCATE (HFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))))),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7470 */
rtx
gen_avx512fp16_vcvtss2sh_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_FLOAT_TRUNCATE (HFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))))),
	operand2,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7470 */
rtx
gen_avx512fp16_vcvtss2sh_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_FLOAT_TRUNCATE (HFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))))),
	operand3,
	operand4),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7470 */
rtx
gen_avx512fp16_vcvtss2sh_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_FLOAT_TRUNCATE (HFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))))),
	operand3,
	operand4),
	operand2,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7486 */
rtx
gen_avx512fp16_vcvtss2sh_mem (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_FLOAT_TRUNCATE (HFmode,
	operand1)),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7486 */
rtx
gen_avx512fp16_vcvtss2sh_mask_mem (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_FLOAT_TRUNCATE (HFmode,
	operand1)),
	operand3,
	operand4),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7486 */
rtx
gen_avx512fp16_vcvtsd2sh_mem (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_FLOAT_TRUNCATE (HFmode,
	operand1)),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7486 */
rtx
gen_avx512fp16_vcvtsd2sh_mask_mem (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_FLOAT_TRUNCATE (HFmode,
	operand1)),
	operand3,
	operand4),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7506 */
rtx
gen_sse_cvtpi2ps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_FLOAT (V2SFmode,
	operand2)),
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (3)])),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4SFmode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7564 */
rtx
gen_sse_cvtps2pi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V2SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	41),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7597 */
rtx
gen_sse_cvttps2pi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V2SImode,
	gen_rtx_FIX (V4SImode,
	operand1),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7630 */
rtx
gen_sse_cvtsi2ss (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_FLOAT (SFmode,
	operand2)),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7630 */
rtx
gen_sse_cvtsi2ss_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_FLOAT (SFmode,
	operand2)),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7630 */
rtx
gen_sse_cvtsi2ssq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_FLOAT (SFmode,
	operand2)),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7630 */
rtx
gen_sse_cvtsi2ssq_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_FLOAT (SFmode,
	operand2)),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7664 */
rtx
gen_sse_cvtss2si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7664 */
rtx
gen_sse_cvtss2si_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	41),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7664 */
rtx
gen_sse_cvtss2siq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7664 */
rtx
gen_sse_cvtss2siq_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	41),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7680 */
rtx
gen_sse_cvtss2si_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7680 */
rtx
gen_sse_cvtss2siq_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7694 */
rtx
gen_sse_cvttss2si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (SImode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7694 */
rtx
gen_sse_cvttss2si_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		gen_rtx_FIX (SImode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7694 */
rtx
gen_sse_cvttss2siq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (DImode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7694 */
rtx
gen_sse_cvttss2siq_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		gen_rtx_FIX (DImode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7710 */
rtx
gen_cvtusi2ss32 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_UNSIGNED_FLOAT (SFmode,
	operand2)),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7710 */
rtx
gen_cvtusi2ss32_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_UNSIGNED_FLOAT (SFmode,
	operand2)),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7710 */
rtx
gen_cvtusi2sd32 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	gen_rtx_UNSIGNED_FLOAT (DFmode,
	operand2)),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7724 */
rtx
gen_cvtusi2ss64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_UNSIGNED_FLOAT (SFmode,
	operand2)),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7724 */
rtx
gen_cvtusi2ss64_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_UNSIGNED_FLOAT (SFmode,
	operand2)),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7724 */
rtx
gen_cvtusi2sd64 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	gen_rtx_UNSIGNED_FLOAT (DFmode,
	operand2)),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7724 */
rtx
gen_cvtusi2sd64_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	gen_rtx_UNSIGNED_FLOAT (DFmode,
	operand2)),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7738 */
rtx
gen_floatv16siv16sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V16SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7738 */
rtx
gen_floatv16siv16sf2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_FLOAT (V16SFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7738 */
rtx
gen_floatv16siv16sf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FLOAT (V16SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7738 */
rtx
gen_floatv16siv16sf2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FLOAT (V16SFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7738 */
rtx
gen_floatv8siv8sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V8SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7738 */
rtx
gen_floatv8siv8sf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FLOAT (V8SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7738 */
rtx
gen_floatv4siv4sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V4SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7738 */
rtx
gen_floatv4siv4sf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FLOAT (V4SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7751 */
rtx
gen_ufloatv16siv16sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V16SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7751 */
rtx
gen_ufloatv16siv16sf2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FLOAT (V16SFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7751 */
rtx
gen_ufloatv16siv16sf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSIGNED_FLOAT (V16SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7751 */
rtx
gen_ufloatv16siv16sf2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSIGNED_FLOAT (V16SFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7751 */
rtx
gen_ufloatv8siv8sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V8SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7751 */
rtx
gen_ufloatv8siv8sf2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FLOAT (V8SFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7751 */
rtx
gen_ufloatv8siv8sf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSIGNED_FLOAT (V8SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7751 */
rtx
gen_ufloatv8siv8sf2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSIGNED_FLOAT (V8SFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7751 */
rtx
gen_ufloatv4siv4sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V4SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7751 */
rtx
gen_ufloatv4siv4sf2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FLOAT (V4SFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7751 */
rtx
gen_ufloatv4siv4sf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSIGNED_FLOAT (V4SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7751 */
rtx
gen_ufloatv4siv4sf2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSIGNED_FLOAT (V4SFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7787 */
rtx
gen_avx_fix_notruncv8sfv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7787 */
rtx
gen_avx_fix_notruncv8sfv8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7787 */
rtx
gen_sse2_fix_notruncv4sfv4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7787 */
rtx
gen_sse2_fix_notruncv4sfv4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7803 */
rtx
gen_avx512f_fix_notruncv16sfv16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7803 */
rtx
gen_avx512f_fix_notruncv16sfv16si_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (1,
		operand1),
	41),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7803 */
rtx
gen_avx512f_fix_notruncv16sfv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7803 */
rtx
gen_avx512f_fix_notruncv16sfv16si_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7814 */
rtx
gen_avx512f_ufix_notruncv16sfv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7814 */
rtx
gen_avx512f_ufix_notruncv16sfv16si_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7814 */
rtx
gen_avx512vl_ufix_notruncv8sfv8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7814 */
rtx
gen_avx512vl_ufix_notruncv8sfv8si_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7814 */
rtx
gen_avx512vl_ufix_notruncv4sfv4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7814 */
rtx
gen_avx512vl_ufix_notruncv4sfv4si_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7825 */
rtx
gen_avx512dq_cvtps2qqv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7825 */
rtx
gen_avx512dq_cvtps2qqv8di_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7825 */
rtx
gen_avx512dq_cvtps2qqv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7835 */
rtx
gen_avx512dq_cvtps2qqv2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (V2SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	41),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7848 */
rtx
gen_avx512dq_cvtps2uqqv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7848 */
rtx
gen_avx512dq_cvtps2uqqv8di_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7848 */
rtx
gen_avx512dq_cvtps2uqqv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7858 */
rtx
gen_avx512dq_cvtps2uqqv2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (V2SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	142),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7871 */
rtx
gen_fix_truncv16sfv16si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V16SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7871 */
rtx
gen_fix_truncv16sfv16si2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		gen_rtx_FIX (V16SImode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7871 */
rtx
gen_fix_truncv16sfv16si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_FIX (V16SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7871 */
rtx
gen_fix_truncv16sfv16si2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_FIX (V16SImode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7871 */
rtx
gen_ufix_truncv16sfv16si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V16SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7871 */
rtx
gen_ufix_truncv16sfv16si2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FIX (V16SImode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7871 */
rtx
gen_ufix_truncv16sfv16si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSIGNED_FIX (V16SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7871 */
rtx
gen_ufix_truncv16sfv16si2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSIGNED_FIX (V16SImode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7881 */
rtx
gen_fix_truncv8sfv8si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V8SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7881 */
rtx
gen_fix_truncv8sfv8si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_FIX (V8SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7890 */
rtx
gen_fix_truncv4sfv4si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V4SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7890 */
rtx
gen_fix_truncv4sfv4si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_FIX (V4SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7935 */
rtx
gen_sse2_cvtpi2pd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V2DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7954 */
rtx
gen_floatunsv2siv2df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V2DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7964 */
rtx
gen_sse2_cvtpd2pi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2SImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7982 */
rtx
gen_sse2_cvttpd2pi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V2SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8004 */
rtx
gen_fixuns_truncv2dfv2si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V2SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8014 */
rtx
gen_sse2_cvtsi2sd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	gen_rtx_FLOAT (DFmode,
	operand2)),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8036 */
rtx
gen_sse2_cvtsi2sdq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	gen_rtx_FLOAT (DFmode,
	operand2)),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8036 */
rtx
gen_sse2_cvtsi2sdq_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	gen_rtx_FLOAT (DFmode,
	operand2)),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8058 */
rtx
gen_avx512f_vcvtss2usi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8058 */
rtx
gen_avx512f_vcvtss2usi_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	142),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8058 */
rtx
gen_avx512f_vcvtss2usiq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8058 */
rtx
gen_avx512f_vcvtss2usiq_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	142),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8071 */
rtx
gen_avx512f_vcvttss2usi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (SImode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8071 */
rtx
gen_avx512f_vcvttss2usi_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FIX (SImode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8071 */
rtx
gen_avx512f_vcvttss2usiq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (DImode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8071 */
rtx
gen_avx512f_vcvttss2usiq_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FIX (DImode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8083 */
rtx
gen_avx512f_vcvtsd2usi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8083 */
rtx
gen_avx512f_vcvtsd2usi_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	142),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8083 */
rtx
gen_avx512f_vcvtsd2usiq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8083 */
rtx
gen_avx512f_vcvtsd2usiq_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	142),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8096 */
rtx
gen_avx512f_vcvttsd2usi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (SImode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8096 */
rtx
gen_avx512f_vcvttsd2usi_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FIX (SImode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8096 */
rtx
gen_avx512f_vcvttsd2usiq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (DImode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8096 */
rtx
gen_avx512f_vcvttsd2usiq_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FIX (DImode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8108 */
rtx
gen_sse2_cvtsd2si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8108 */
rtx
gen_sse2_cvtsd2si_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	41),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8108 */
rtx
gen_sse2_cvtsd2siq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8108 */
rtx
gen_sse2_cvtsd2siq_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	41),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8125 */
rtx
gen_sse2_cvtsd2si_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8125 */
rtx
gen_sse2_cvtsd2siq_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8139 */
rtx
gen_sse2_cvttsd2si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (SImode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8139 */
rtx
gen_sse2_cvttsd2si_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		gen_rtx_FIX (SImode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8139 */
rtx
gen_sse2_cvttsd2siq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (DImode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8139 */
rtx
gen_sse2_cvttsd2siq_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		gen_rtx_FIX (DImode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8162 */
rtx
gen_floatv8siv8df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V8DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8162 */
rtx
gen_floatv8siv8df2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FLOAT (V8DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8162 */
rtx
gen_floatv4siv4df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V4DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8162 */
rtx
gen_floatv4siv4df2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FLOAT (V4DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatv8div8df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V8DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatv8div8df2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_FLOAT (V8DFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatv8div8df2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FLOAT (V8DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatv8div8df2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FLOAT (V8DFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatunsv8div8df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V8DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatunsv8div8df2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FLOAT (V8DFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatunsv8div8df2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSIGNED_FLOAT (V8DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatunsv8div8df2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSIGNED_FLOAT (V8DFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatv4div4df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V4DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatv4div4df2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_FLOAT (V4DFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatv4div4df2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FLOAT (V4DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatv4div4df2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FLOAT (V4DFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatunsv4div4df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V4DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatunsv4div4df2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FLOAT (V4DFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatunsv4div4df2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSIGNED_FLOAT (V4DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatunsv4div4df2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSIGNED_FLOAT (V4DFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatv2div2df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V2DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatv2div2df2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_FLOAT (V2DFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatv2div2df2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FLOAT (V2DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatv2div2df2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FLOAT (V2DFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatunsv2div2df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V2DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatunsv2div2df2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FLOAT (V2DFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatunsv2div2df2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSIGNED_FLOAT (V2DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8171 */
rtx
gen_floatunsv2div2df2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSIGNED_FLOAT (V2DFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8195 */
rtx
gen_floatv8div8sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V8SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8195 */
rtx
gen_floatv8div8sf2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_FLOAT (V8SFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8195 */
rtx
gen_floatv8div8sf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FLOAT (V8SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8195 */
rtx
gen_floatv8div8sf2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FLOAT (V8SFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8195 */
rtx
gen_floatunsv8div8sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V8SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8195 */
rtx
gen_floatunsv8div8sf2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FLOAT (V8SFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8195 */
rtx
gen_floatunsv8div8sf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSIGNED_FLOAT (V8SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8195 */
rtx
gen_floatunsv8div8sf2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSIGNED_FLOAT (V8SFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8195 */
rtx
gen_floatv4div4sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V4SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8195 */
rtx
gen_floatv4div4sf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FLOAT (V4SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8195 */
rtx
gen_floatunsv4div4sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V4SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8195 */
rtx
gen_floatunsv4div4sf2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSIGNED_FLOAT (V4SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8314 */
rtx
gen_ufloatv8siv8df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V8DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8314 */
rtx
gen_ufloatv8siv8df2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSIGNED_FLOAT (V8DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8314 */
rtx
gen_ufloatv4siv4df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V4DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8314 */
rtx
gen_ufloatv4siv4df2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSIGNED_FLOAT (V4DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8324 */
rtx
gen_ufloatv2siv2df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V2DFmode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8324 */
rtx
gen_ufloatv2siv2df2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSIGNED_FLOAT (V2DFmode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8336 */
rtx
gen_avx512f_cvtdq2pd512_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V8DFmode,
	gen_rtx_VEC_SELECT (V8SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8351 */
rtx
gen_avx_cvtdq2pd256_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V4DFmode,
	gen_rtx_VEC_SELECT (V4SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8364 */
rtx
gen_sse2_cvtdq2pd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V2DFmode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8364 */
rtx
gen_sse2_cvtdq2pd_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FLOAT (V2DFmode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8376 */
rtx
gen_avx512f_cvtpd2dq512 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8376 */
rtx
gen_avx512f_cvtpd2dq512_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	41),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8376 */
rtx
gen_avx512f_cvtpd2dq512_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8376 */
rtx
gen_avx512f_cvtpd2dq512_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8387 */
rtx
gen_avx_cvtpd2dq256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8387 */
rtx
gen_avx_cvtpd2dq256_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8419 */
rtx
gen_sse2_cvtpd2dq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SImode,
	gen_rtx_UNSPEC (V2SImode,
	gen_rtvec (1,
		operand1),
	41),
	gen_rtx_CONST_VECTOR (V2SImode,
	gen_rtvec (2,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8441 */
rtx
gen_sse2_cvtpd2dq_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SImode,
	gen_rtx_VEC_MERGE (V2SImode,
	gen_rtx_UNSPEC (V2SImode,
	gen_rtvec (1,
		operand1),
	41),
	gen_rtx_VEC_SELECT (V2SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand3),
	gen_rtx_CONST_VECTOR (V2SImode,
	gen_rtvec (2,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8477 */
rtx
gen_ufix_notruncv8dfv8si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8477 */
rtx
gen_ufix_notruncv8dfv8si2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	142),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8477 */
rtx
gen_ufix_notruncv8dfv8si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8477 */
rtx
gen_ufix_notruncv8dfv8si2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8477 */
rtx
gen_ufix_notruncv4dfv4si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8477 */
rtx
gen_ufix_notruncv4dfv4si2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	142),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8477 */
rtx
gen_ufix_notruncv4dfv4si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8477 */
rtx
gen_ufix_notruncv4dfv4si2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8488 */
rtx
gen_ufix_notruncv2dfv2si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SImode,
	gen_rtx_UNSPEC (V2SImode,
	gen_rtvec (1,
		operand1),
	142),
	gen_rtx_CONST_VECTOR (V2SImode,
	gen_rtvec (2,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8501 */
rtx
gen_ufix_notruncv2dfv2si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SImode,
	gen_rtx_VEC_MERGE (V2SImode,
	gen_rtx_UNSPEC (V2SImode,
	gen_rtvec (1,
		operand1),
	142),
	gen_rtx_VEC_SELECT (V2SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand3),
	gen_rtx_CONST_VECTOR (V2SImode,
	gen_rtvec (2,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8535 */
rtx
gen_fix_truncv8dfv8si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V8SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8535 */
rtx
gen_fix_truncv8dfv8si2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		gen_rtx_FIX (V8SImode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8535 */
rtx
gen_fix_truncv8dfv8si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_FIX (V8SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8535 */
rtx
gen_fix_truncv8dfv8si2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_FIX (V8SImode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8535 */
rtx
gen_fixuns_truncv8dfv8si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V8SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8535 */
rtx
gen_fixuns_truncv8dfv8si2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FIX (V8SImode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8535 */
rtx
gen_fixuns_truncv8dfv8si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSIGNED_FIX (V8SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8535 */
rtx
gen_fixuns_truncv8dfv8si2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSIGNED_FIX (V8SImode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8545 */
rtx
gen_ufix_truncv2dfv2si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SImode,
	gen_rtx_UNSIGNED_FIX (V2SImode,
	operand1),
	gen_rtx_CONST_VECTOR (V2SImode,
	gen_rtvec (2,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8556 */
rtx
gen_ufix_truncv2dfv2si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SImode,
	gen_rtx_VEC_MERGE (V2SImode,
	gen_rtx_UNSIGNED_FIX (V2SImode,
	operand1),
	gen_rtx_VEC_SELECT (V2SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand3),
	gen_rtx_CONST_VECTOR (V2SImode,
	gen_rtvec (2,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8586 */
rtx
gen_fix_truncv4dfv4si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V4SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8586 */
rtx
gen_fix_truncv4dfv4si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_FIX (V4SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8595 */
rtx
gen_ufix_truncv4dfv4si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V4SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8595 */
rtx
gen_ufix_truncv4dfv4si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSIGNED_FIX (V4SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8604 */
rtx
gen_fix_truncv8dfv8di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V8DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8604 */
rtx
gen_fix_truncv8dfv8di2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_FIX (V8DImode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8604 */
rtx
gen_fix_truncv8dfv8di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_FIX (V8DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8604 */
rtx
gen_fix_truncv8dfv8di2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_FIX (V8DImode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8604 */
rtx
gen_fixuns_truncv8dfv8di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V8DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8604 */
rtx
gen_fixuns_truncv8dfv8di2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FIX (V8DImode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8604 */
rtx
gen_fixuns_truncv8dfv8di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSIGNED_FIX (V8DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8604 */
rtx
gen_fixuns_truncv8dfv8di2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSIGNED_FIX (V8DImode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8604 */
rtx
gen_fix_truncv4dfv4di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V4DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8604 */
rtx
gen_fix_truncv4dfv4di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_FIX (V4DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8604 */
rtx
gen_fixuns_truncv4dfv4di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V4DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8604 */
rtx
gen_fixuns_truncv4dfv4di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSIGNED_FIX (V4DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8604 */
rtx
gen_fix_truncv2dfv2di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V2DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8604 */
rtx
gen_fix_truncv2dfv2di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_FIX (V2DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8604 */
rtx
gen_fixuns_truncv2dfv2di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V2DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8604 */
rtx
gen_fixuns_truncv2dfv2di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSIGNED_FIX (V2DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8614 */
rtx
gen_fix_notruncv8dfv8di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8614 */
rtx
gen_fix_notruncv8dfv8di2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	41),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8614 */
rtx
gen_fix_notruncv8dfv8di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8614 */
rtx
gen_fix_notruncv8dfv8di2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8614 */
rtx
gen_fix_notruncv4dfv4di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8614 */
rtx
gen_fix_notruncv4dfv4di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8614 */
rtx
gen_fix_notruncv2dfv2di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8614 */
rtx
gen_fix_notruncv2dfv2di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8625 */
rtx
gen_ufix_notruncv8dfv8di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8625 */
rtx
gen_ufix_notruncv8dfv8di2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	142),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8625 */
rtx
gen_ufix_notruncv8dfv8di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8625 */
rtx
gen_ufix_notruncv8dfv8di2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8625 */
rtx
gen_ufix_notruncv4dfv4di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (1,
		operand1),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8625 */
rtx
gen_ufix_notruncv4dfv4di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8625 */
rtx
gen_ufix_notruncv2dfv2di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (1,
		operand1),
	142));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8625 */
rtx
gen_ufix_notruncv2dfv2di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (1,
		operand1),
	142),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8636 */
rtx
gen_fix_truncv8sfv8di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V8DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8636 */
rtx
gen_fix_truncv8sfv8di2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_FIX (V8DImode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8636 */
rtx
gen_fix_truncv8sfv8di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_FIX (V8DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8636 */
rtx
gen_fix_truncv8sfv8di2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_FIX (V8DImode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8636 */
rtx
gen_fixuns_truncv8sfv8di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V8DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8636 */
rtx
gen_fixuns_truncv8sfv8di2_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_UNSIGNED_FIX (V8DImode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8636 */
rtx
gen_fixuns_truncv8sfv8di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSIGNED_FIX (V8DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8636 */
rtx
gen_fixuns_truncv8sfv8di2_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSIGNED_FIX (V8DImode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8636 */
rtx
gen_fix_truncv4sfv4di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V4DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8636 */
rtx
gen_fix_truncv4sfv4di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_FIX (V4DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8636 */
rtx
gen_fixuns_truncv4sfv4di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V4DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8636 */
rtx
gen_fixuns_truncv4sfv4di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSIGNED_FIX (V4DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8646 */
rtx
gen_avx512dq_fix_truncv2sfv2di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V2DImode,
	gen_rtx_VEC_SELECT (V2SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8646 */
rtx
gen_avx512dq_fix_truncv2sfv2di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_FIX (V2DImode,
	gen_rtx_VEC_SELECT (V2SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8646 */
rtx
gen_avx512dq_fixuns_truncv2sfv2di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V2DImode,
	gen_rtx_VEC_SELECT (V2SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8646 */
rtx
gen_avx512dq_fixuns_truncv2sfv2di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSIGNED_FIX (V2DImode,
	gen_rtx_VEC_SELECT (V2SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8728 */
rtx
gen_ufix_truncv8sfv8si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V8SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8728 */
rtx
gen_ufix_truncv8sfv8si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSIGNED_FIX (V8SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8728 */
rtx
gen_ufix_truncv4sfv4si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V4SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8728 */
rtx
gen_ufix_truncv4sfv4si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSIGNED_FIX (V4SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8746 */
rtx
gen_sse2_cvttpd2dq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SImode,
	gen_rtx_FIX (V2SImode,
	operand1),
	gen_rtx_CONST_VECTOR (V2SImode,
	gen_rtvec (2,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8765 */
rtx
gen_sse2_cvttpd2dq_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SImode,
	gen_rtx_VEC_MERGE (V2SImode,
	gen_rtx_FIX (V2SImode,
	operand1),
	gen_rtx_VEC_SELECT (V2SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand3),
	gen_rtx_CONST_VECTOR (V2SImode,
	gen_rtvec (2,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8795 */
rtx
gen_sse2_cvtsd2ss (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_FLOAT_TRUNCATE (V2SFmode,
	operand2)),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8795 */
rtx
gen_sse2_cvtsd2ss_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_FLOAT_TRUNCATE (V2SFmode,
	operand2)),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8795 */
rtx
gen_sse2_cvtsd2ss_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_FLOAT_TRUNCATE (V2SFmode,
	operand2)),
	operand1,
	const1_rtx),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8795 */
rtx
gen_sse2_cvtsd2ss_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_FLOAT_TRUNCATE (V2SFmode,
	operand2)),
	operand1,
	const1_rtx),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8838 */
rtx
gen_sse2_cvtss2sd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FLOAT_EXTEND (V2DFmode,
	gen_rtx_VEC_SELECT (V2SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8838 */
rtx
gen_sse2_cvtss2sd_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FLOAT_EXTEND (V2DFmode,
	gen_rtx_VEC_SELECT (V2SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8838 */
rtx
gen_sse2_cvtss2sd_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FLOAT_EXTEND (V2DFmode,
	gen_rtx_VEC_SELECT (V2SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand1,
	const1_rtx),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8838 */
rtx
gen_sse2_cvtss2sd_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FLOAT_EXTEND (V2DFmode,
	gen_rtx_VEC_SELECT (V2SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand1,
	const1_rtx),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8882 */
rtx
gen_avx512f_cvtpd2ps512_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FLOAT_TRUNCATE (V8SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8882 */
rtx
gen_avx512f_cvtpd2ps512_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FLOAT_TRUNCATE (V8SFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8892 */
rtx
gen_avx_cvtpd2ps256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_TRUNCATE (V4SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8892 */
rtx
gen_avx_cvtpd2ps256_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FLOAT_TRUNCATE (V4SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8947 */
rtx
gen_truncv2dfv2sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_TRUNCATE (V2SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9016 */
rtx
gen_avx512f_cvtps2pd512 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V8DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9016 */
rtx
gen_avx512f_cvtps2pd512_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_FLOAT_EXTEND (V8DFmode,
	operand1),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9016 */
rtx
gen_avx512f_cvtps2pd512_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FLOAT_EXTEND (V8DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9016 */
rtx
gen_avx512f_cvtps2pd512_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FLOAT_EXTEND (V8DFmode,
	operand1),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9016 */
rtx
gen_avx_cvtps2pd256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V4DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9016 */
rtx
gen_avx_cvtps2pd256_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FLOAT_EXTEND (V4DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9039 */
rtx
gen_vec_unpacks_lo_v16sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V8DFmode,
	gen_rtx_VEC_SELECT (V8SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9054 */
rtx
gen_avx512bw_cvtb2maskv64qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	180));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9054 */
rtx
gen_avx512vl_cvtb2maskv16qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (1,
		operand1),
	180));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9054 */
rtx
gen_avx512vl_cvtb2maskv32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	180));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9054 */
rtx
gen_avx512bw_cvtw2maskv32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	180));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9054 */
rtx
gen_avx512vl_cvtw2maskv16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (1,
		operand1),
	180));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9054 */
rtx
gen_avx512vl_cvtw2maskv8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand1),
	180));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9064 */
rtx
gen_avx512f_cvtd2maskv16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (1,
		operand1),
	180));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9064 */
rtx
gen_avx512vl_cvtd2maskv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand1),
	180));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9064 */
rtx
gen_avx512vl_cvtd2maskv4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand1),
	180));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9064 */
rtx
gen_avx512f_cvtq2maskv8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand1),
	180));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9064 */
rtx
gen_avx512vl_cvtq2maskv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand1),
	180));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9064 */
rtx
gen_avx512vl_cvtq2maskv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (1,
		operand1),
	180));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9124 */
rtx
gen_sse2_cvtps2pd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V2DFmode,
	gen_rtx_VEC_SELECT (V2SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9124 */
rtx
gen_sse2_cvtps2pd_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FLOAT_EXTEND (V2DFmode,
	gen_rtx_VEC_SELECT (V2SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9140 */
rtx
gen_extendv2sfv2df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V2DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9755 */
rtx
gen_sse_movhlps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4SFmode,
	gen_rtx_VEC_CONCAT (V8SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9800 */
rtx
gen_sse_movlhps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4SFmode,
	gen_rtx_VEC_CONCAT (V8SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9822 */
rtx
gen_avx512f_unpckhps512_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_VEC_SELECT (V16SFmode,
	gen_rtx_VEC_CONCAT (V32SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9843 */
rtx
gen_avx_unpckhps256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8SFmode,
	gen_rtx_VEC_CONCAT (V16SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9843 */
rtx
gen_avx_unpckhps256_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_VEC_SELECT (V8SFmode,
	gen_rtx_VEC_CONCAT (V16SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9893 */
rtx
gen_vec_interleave_highv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4SFmode,
	gen_rtx_VEC_CONCAT (V8SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9893 */
rtx
gen_vec_interleave_highv4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_SELECT (V4SFmode,
	gen_rtx_VEC_CONCAT (V8SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9910 */
rtx
gen_avx512f_unpcklps512_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_VEC_SELECT (V16SFmode,
	gen_rtx_VEC_CONCAT (V32SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9931 */
rtx
gen_avx_unpcklps256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8SFmode,
	gen_rtx_VEC_CONCAT (V16SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9931 */
rtx
gen_avx_unpcklps256_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_VEC_SELECT (V8SFmode,
	gen_rtx_VEC_CONCAT (V16SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9947 */
rtx
gen_unpcklps128_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_SELECT (V4SFmode,
	gen_rtx_VEC_CONCAT (V8SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9998 */
rtx
gen_vec_interleave_lowv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4SFmode,
	gen_rtx_VEC_CONCAT (V8SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10017 */
rtx
gen_avx_movshdup256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8SFmode,
	gen_rtx_VEC_CONCAT (V16SFmode,
	operand1,
	operand1),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const1_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10017 */
rtx
gen_avx_movshdup256_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_VEC_SELECT (V8SFmode,
	gen_rtx_VEC_CONCAT (V16SFmode,
	operand1,
	operand1),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const1_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10033 */
rtx
gen_sse3_movshdup (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4SFmode,
	gen_rtx_VEC_CONCAT (V8SFmode,
	operand1,
	operand1),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10033 */
rtx
gen_sse3_movshdup_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_SELECT (V4SFmode,
	gen_rtx_VEC_CONCAT (V8SFmode,
	operand1,
	operand1),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10050 */
rtx
gen_avx512f_movshdup512_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_VEC_SELECT (V16SFmode,
	gen_rtx_VEC_CONCAT (V32SFmode,
	operand1,
	operand1),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const1_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10070 */
rtx
gen_avx_movsldup256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8SFmode,
	gen_rtx_VEC_CONCAT (V16SFmode,
	operand1,
	operand1),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10070 */
rtx
gen_avx_movsldup256_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_VEC_SELECT (V8SFmode,
	gen_rtx_VEC_CONCAT (V16SFmode,
	operand1,
	operand1),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10086 */
rtx
gen_sse3_movsldup (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4SFmode,
	gen_rtx_VEC_CONCAT (V8SFmode,
	operand1,
	operand1),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10086 */
rtx
gen_sse3_movsldup_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_SELECT (V4SFmode,
	gen_rtx_VEC_CONCAT (V8SFmode,
	operand1,
	operand1),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10103 */
rtx
gen_avx512f_movsldup512_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_VEC_SELECT (V16SFmode,
	gen_rtx_VEC_CONCAT (V32SFmode,
	operand1,
	operand1),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const0_rtx,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10147 */
rtx
gen_avx_shufps256_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8SFmode,
	gen_rtx_VEC_CONCAT (V16SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9,
		operand10))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10147 */
rtx
gen_avx_shufps256_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED,
	rtx operand11 ATTRIBUTE_UNUSED,
	rtx operand12 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_VEC_SELECT (V8SFmode,
	gen_rtx_VEC_CONCAT (V16SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9,
		operand10))),
	operand11,
	operand12));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10201 */
rtx
gen_sse_shufps_v4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_SELECT (V4SFmode,
	gen_rtx_VEC_CONCAT (V8SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		operand3,
		operand4,
		operand5,
		operand6))),
	operand7,
	operand8));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10230 */
rtx
gen_sse_shufps_v4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4SImode,
	gen_rtx_VEC_CONCAT (V8SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		operand3,
		operand4,
		operand5,
		operand6))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10230 */
rtx
gen_sse_shufps_v4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4SFmode,
	gen_rtx_VEC_CONCAT (V8SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		operand3,
		operand4,
		operand5,
		operand6))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10265 */
rtx
gen_sse_storehps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V2SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10299 */
rtx
gen_sse_loadhps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SFmode,
	gen_rtx_VEC_SELECT (V2SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10318 */
rtx
gen_sse_storelps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V2SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10352 */
rtx
gen_sse_loadlps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SFmode,
	operand2,
	gen_rtx_VEC_SELECT (V2SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10375 */
rtx
gen_sse_movss (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	operand2,
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10390 */
rtx
gen_avx2_vec_dupv8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10390 */
rtx
gen_avx2_vec_dupv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10402 */
rtx
gen_avx2_vec_dupv8sf_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10414 */
rtx
gen_avx512f_vec_dupv16sf_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V16SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10414 */
rtx
gen_avx512f_vec_dupv8df_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10535 */
rtx
gen_vec_setv4si_0 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_VEC_DUPLICATE (V4SImode,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10535 */
rtx
gen_vec_setv4sf_0 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10607 */
rtx
gen_vec_setv8hi_0 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_VEC_DUPLICATE (V8HImode,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10607 */
rtx
gen_vec_setv8hf_0 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10679 */
rtx
gen_vec_setv16hi_0 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_VEC_DUPLICATE (V16HImode,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10679 */
rtx
gen_vec_setv32hi_0 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_VEC_DUPLICATE (V32HImode,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10679 */
rtx
gen_vec_setv16hf_0 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_VEC_DUPLICATE (V16HFmode,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10679 */
rtx
gen_vec_setv32hf_0 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_VEC_DUPLICATE (V32HFmode,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10694 */
rtx
gen_avx512fp16_movsh (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	operand2,
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10739 */
rtx
gen_vec_setv8si_0 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_VEC_DUPLICATE (V8SImode,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10739 */
rtx
gen_vec_setv8sf_0 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_VEC_DUPLICATE (V8SFmode,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10739 */
rtx
gen_vec_setv16si_0 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_VEC_DUPLICATE (V16SImode,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10739 */
rtx
gen_vec_setv16sf_0 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_VEC_DUPLICATE (V16SFmode,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10763 */
rtx
gen_sse4_1_insertps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	111));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10810 */
rtx
gen_vec_setv2df_0 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10974 */
rtx
gen_avx512dq_vextractf64x2_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_SELECT (V2DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		operand2,
		operand3))),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10974 */
rtx
gen_avx512dq_vextracti64x2_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_VEC_SELECT (V2DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		operand2,
		operand3))),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11037 */
rtx
gen_avx512f_vextractf32x4_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_SELECT (V4SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		operand2,
		operand3,
		operand4,
		operand5))),
	operand6,
	operand7));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11037 */
rtx
gen_avx512f_vextracti32x4_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_VEC_SELECT (V4SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		operand2,
		operand3,
		operand4,
		operand5))),
	operand6,
	operand7));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11163 */
rtx
gen_vec_extract_lo_v8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_VEC_SELECT (V4DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11163 */
rtx
gen_vec_extract_lo_v8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_VEC_SELECT (V4DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11182 */
rtx
gen_vec_extract_lo_v8df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11182 */
rtx
gen_vec_extract_lo_v8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11202 */
rtx
gen_vec_extract_hi_v8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_VEC_SELECT (V4DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11202 */
rtx
gen_vec_extract_hi_v8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_VEC_SELECT (V4DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11220 */
rtx
gen_vec_extract_hi_v8df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11220 */
rtx
gen_vec_extract_hi_v8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11234 */
rtx
gen_vec_extract_hi_v16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_VEC_SELECT (V8SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11234 */
rtx
gen_vec_extract_hi_v16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_VEC_SELECT (V8SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11254 */
rtx
gen_vec_extract_hi_v16sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11254 */
rtx
gen_vec_extract_hi_v16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11340 */
rtx
gen_vec_extract_lo_v16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_VEC_SELECT (V8SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11340 */
rtx
gen_vec_extract_lo_v16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_VEC_SELECT (V8SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11361 */
rtx
gen_vec_extract_lo_v16sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11361 */
rtx
gen_vec_extract_lo_v16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11415 */
rtx
gen_vec_extract_lo_v4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_VEC_SELECT (V2DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11415 */
rtx
gen_vec_extract_lo_v4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_SELECT (V2DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11434 */
rtx
gen_vec_extract_lo_v4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V2DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11434 */
rtx
gen_vec_extract_lo_v4df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V2DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11453 */
rtx
gen_vec_extract_hi_v4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_VEC_SELECT (V2DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11453 */
rtx
gen_vec_extract_hi_v4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_SELECT (V2DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11471 */
rtx
gen_vec_extract_hi_v4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V2DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11471 */
rtx
gen_vec_extract_hi_v4df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V2DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11505 */
rtx
gen_vec_extract_lo_v8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_VEC_SELECT (V4SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11505 */
rtx
gen_vec_extract_lo_v8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_SELECT (V4SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11523 */
rtx
gen_vec_extract_lo_v8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11523 */
rtx
gen_vec_extract_lo_v8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11538 */
rtx
gen_vec_extract_hi_v8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_VEC_SELECT (V4SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11538 */
rtx
gen_vec_extract_hi_v8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_SELECT (V4SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11555 */
rtx
gen_vec_extract_hi_v8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11555 */
rtx
gen_vec_extract_hi_v8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11571 */
rtx
gen_vec_extract_lo_v32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V16HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11571 */
rtx
gen_vec_extract_lo_v32hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V16HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11613 */
rtx
gen_vec_extract_hi_v32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V16HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11613 */
rtx
gen_vec_extract_hi_v32hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V16HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11633 */
rtx
gen_vec_extract_lo_v16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11633 */
rtx
gen_vec_extract_lo_v16hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11647 */
rtx
gen_vec_extract_hi_v16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11647 */
rtx
gen_vec_extract_hi_v16hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11667 */
rtx
gen_vec_extract_lo_v64qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V32QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (32,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11716 */
rtx
gen_vec_extract_hi_v64qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V32QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (32,
		const_int_rtx[MAX_SAVED_CONST_INT + (32)],
		const_int_rtx[MAX_SAVED_CONST_INT + (33)],
		const_int_rtx[MAX_SAVED_CONST_INT + (34)],
		const_int_rtx[MAX_SAVED_CONST_INT + (35)],
		const_int_rtx[MAX_SAVED_CONST_INT + (36)],
		const_int_rtx[MAX_SAVED_CONST_INT + (37)],
		const_int_rtx[MAX_SAVED_CONST_INT + (38)],
		const_int_rtx[MAX_SAVED_CONST_INT + (39)],
		const_int_rtx[MAX_SAVED_CONST_INT + (40)],
		const_int_rtx[MAX_SAVED_CONST_INT + (41)],
		const_int_rtx[MAX_SAVED_CONST_INT + (42)],
		const_int_rtx[MAX_SAVED_CONST_INT + (43)],
		const_int_rtx[MAX_SAVED_CONST_INT + (44)],
		const_int_rtx[MAX_SAVED_CONST_INT + (45)],
		const_int_rtx[MAX_SAVED_CONST_INT + (46)],
		const_int_rtx[MAX_SAVED_CONST_INT + (47)],
		const_int_rtx[MAX_SAVED_CONST_INT + (48)],
		const_int_rtx[MAX_SAVED_CONST_INT + (49)],
		const_int_rtx[MAX_SAVED_CONST_INT + (50)],
		const_int_rtx[MAX_SAVED_CONST_INT + (51)],
		const_int_rtx[MAX_SAVED_CONST_INT + (52)],
		const_int_rtx[MAX_SAVED_CONST_INT + (53)],
		const_int_rtx[MAX_SAVED_CONST_INT + (54)],
		const_int_rtx[MAX_SAVED_CONST_INT + (55)],
		const_int_rtx[MAX_SAVED_CONST_INT + (56)],
		const_int_rtx[MAX_SAVED_CONST_INT + (57)],
		const_int_rtx[MAX_SAVED_CONST_INT + (58)],
		const_int_rtx[MAX_SAVED_CONST_INT + (59)],
		const_int_rtx[MAX_SAVED_CONST_INT + (60)],
		const_int_rtx[MAX_SAVED_CONST_INT + (61)],
		const_int_rtx[MAX_SAVED_CONST_INT + (62)],
		const_int_rtx[MAX_SAVED_CONST_INT + (63)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11744 */
rtx
gen_vec_extract_lo_v32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V16QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11762 */
rtx
gen_vec_extract_hi_v32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V16QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11871 */
rtx
gen_avx512f_unpckhpd512_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_VEC_SELECT (V8DFmode,
	gen_rtx_VEC_CONCAT (V16DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11888 */
rtx
gen_avx_unpckhpd256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4DFmode,
	gen_rtx_VEC_CONCAT (V8DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11888 */
rtx
gen_avx_unpckhpd256_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_VEC_SELECT (V4DFmode,
	gen_rtx_VEC_CONCAT (V8DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11931 */
rtx
gen_avx512vl_unpckhpd128_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_SELECT (V2DFmode,
	gen_rtx_VEC_CONCAT (V4DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12093 */
rtx
gen_avx512vl_unpcklpd128_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_SELECT (V2DFmode,
	gen_rtx_VEC_CONCAT (V4DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12180 */
rtx
gen_avx512f_vmscalefv8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12180 */
rtx
gen_avx512f_vmscalefv8hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12180 */
rtx
gen_avx512f_vmscalefv8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12180 */
rtx
gen_avx512f_vmscalefv8hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12180 */
rtx
gen_avx512f_vmscalefv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12180 */
rtx
gen_avx512f_vmscalefv4sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12180 */
rtx
gen_avx512f_vmscalefv4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12180 */
rtx
gen_avx512f_vmscalefv4sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12180 */
rtx
gen_avx512f_vmscalefv2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12180 */
rtx
gen_avx512f_vmscalefv2df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12180 */
rtx
gen_avx512f_vmscalefv2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12180 */
rtx
gen_avx512f_vmscalefv2df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512bw_scalefv32hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512bw_scalefv32hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512bw_scalefv32hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512bw_scalefv32hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512vl_scalefv16hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512vl_scalefv16hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512vl_scalefv16hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512vl_scalefv16hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512fp16_scalefv8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512fp16_scalefv8hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512fp16_scalefv8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512fp16_scalefv8hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512f_scalefv16sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512f_scalefv16sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512f_scalefv16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512f_scalefv16sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512vl_scalefv8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512vl_scalefv8sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512vl_scalefv8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512vl_scalefv8sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512vl_scalefv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512vl_scalefv4sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512vl_scalefv4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512vl_scalefv4sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512f_scalefv8df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512f_scalefv8df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512f_scalefv8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512f_scalefv8df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512vl_scalefv4df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512vl_scalefv4df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512vl_scalefv4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512vl_scalefv4df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512vl_scalefv2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512vl_scalefv2df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512vl_scalefv2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12194 */
rtx
gen_avx512vl_scalefv2df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	51),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12220 */
rtx
gen_avx512f_vternlogv16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	150));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12220 */
rtx
gen_avx512f_vternlogv16si_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	150),
	operand5,
	operand6));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12220 */
rtx
gen_avx512vl_vternlogv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	150));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12220 */
rtx
gen_avx512vl_vternlogv8si_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	150),
	operand5,
	operand6));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12220 */
rtx
gen_avx512vl_vternlogv4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	150));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12220 */
rtx
gen_avx512vl_vternlogv4si_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	150),
	operand5,
	operand6));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12220 */
rtx
gen_avx512f_vternlogv8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	150));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12220 */
rtx
gen_avx512f_vternlogv8di_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	150),
	operand5,
	operand6));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12220 */
rtx
gen_avx512vl_vternlogv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	150));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12220 */
rtx
gen_avx512vl_vternlogv4di_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	150),
	operand5,
	operand6));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12220 */
rtx
gen_avx512vl_vternlogv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	150));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12220 */
rtx
gen_avx512vl_vternlogv2di_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	150),
	operand5,
	operand6));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12483 */
rtx
gen_avx512f_vternlogv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	150),
	operand1,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12483 */
rtx
gen_avx512vl_vternlogv8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	150),
	operand1,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12483 */
rtx
gen_avx512vl_vternlogv4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	150),
	operand1,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12483 */
rtx
gen_avx512f_vternlogv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	150),
	operand1,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12483 */
rtx
gen_avx512vl_vternlogv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	150),
	operand1,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12483 */
rtx
gen_avx512vl_vternlogv2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	150),
	operand1,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512bw_getexpv32hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (1,
		operand1),
	151));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512bw_getexpv32hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (1,
		operand1),
	151),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512bw_getexpv32hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (1,
		operand1),
	151),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512bw_getexpv32hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (1,
		operand1),
	151),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512vl_getexpv16hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (1,
		operand1),
	151));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512vl_getexpv16hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (1,
		operand1),
	151),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512vl_getexpv16hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (1,
		operand1),
	151),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512vl_getexpv16hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (1,
		operand1),
	151),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512fp16_getexpv8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (1,
		operand1),
	151));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512fp16_getexpv8hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (1,
		operand1),
	151),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512fp16_getexpv8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (1,
		operand1),
	151),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512fp16_getexpv8hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (1,
		operand1),
	151),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512f_getexpv16sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (1,
		operand1),
	151));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512f_getexpv16sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (1,
		operand1),
	151),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512f_getexpv16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (1,
		operand1),
	151),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512f_getexpv16sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (1,
		operand1),
	151),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512vl_getexpv8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (1,
		operand1),
	151));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512vl_getexpv8sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (1,
		operand1),
	151),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512vl_getexpv8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (1,
		operand1),
	151),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512vl_getexpv8sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (1,
		operand1),
	151),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512vl_getexpv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	151));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512vl_getexpv4sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	151),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512vl_getexpv4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	151),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512vl_getexpv4sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	151),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512f_getexpv8df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (1,
		operand1),
	151));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512f_getexpv8df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (1,
		operand1),
	151),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512f_getexpv8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (1,
		operand1),
	151),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512f_getexpv8df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (1,
		operand1),
	151),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512vl_getexpv4df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (1,
		operand1),
	151));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512vl_getexpv4df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (1,
		operand1),
	151),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512vl_getexpv4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (1,
		operand1),
	151),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512vl_getexpv4df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (1,
		operand1),
	151),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512vl_getexpv2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	151));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512vl_getexpv2df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	151),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512vl_getexpv2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	151),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12500 */
rtx
gen_avx512vl_getexpv2df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	151),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12509 */
rtx
gen_avx512f_sgetexpv8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	151),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12509 */
rtx
gen_avx512f_sgetexpv8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	151),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12509 */
rtx
gen_avx512f_sgetexpv8hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	151),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12509 */
rtx
gen_avx512f_sgetexpv8hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	151),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12509 */
rtx
gen_avx512f_sgetexpv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	151),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12509 */
rtx
gen_avx512f_sgetexpv4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	151),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12509 */
rtx
gen_avx512f_sgetexpv4sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	151),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12509 */
rtx
gen_avx512f_sgetexpv4sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	151),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12509 */
rtx
gen_avx512f_sgetexpv2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	151),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12509 */
rtx
gen_avx512f_sgetexpv2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	151),
	operand3,
	operand4),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12509 */
rtx
gen_avx512f_sgetexpv2df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	151),
	operand1,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12509 */
rtx
gen_avx512f_sgetexpv2df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	151),
	operand3,
	operand4),
	operand1,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12523 */
rtx
gen_avx512f_alignv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	153),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12523 */
rtx
gen_avx512vl_alignv8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	153),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12523 */
rtx
gen_avx512vl_alignv4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	153),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12523 */
rtx
gen_avx512f_alignv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	153),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12523 */
rtx
gen_avx512vl_alignv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	153),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12523 */
rtx
gen_avx512vl_alignv2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	153),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512f_fixupimmv16sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512f_fixupimmv16sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512f_fixupimmv16sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand5,
	operand6));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512f_fixupimmv16sf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand5,
	operand6),
		operand7),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512vl_fixupimmv8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512vl_fixupimmv8sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512vl_fixupimmv8sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand5,
	operand6));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512vl_fixupimmv8sf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand5,
	operand6),
		operand7),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512vl_fixupimmv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512vl_fixupimmv4sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512vl_fixupimmv4sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand5,
	operand6));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512vl_fixupimmv4sf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand5,
	operand6),
		operand7),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512f_fixupimmv8df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512f_fixupimmv8df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512f_fixupimmv8df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand5,
	operand6));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512f_fixupimmv8df_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand5,
	operand6),
		operand7),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512vl_fixupimmv4df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512vl_fixupimmv4df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512vl_fixupimmv4df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand5,
	operand6));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512vl_fixupimmv4df_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand5,
	operand6),
		operand7),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512vl_fixupimmv2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512vl_fixupimmv2df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512vl_fixupimmv2df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand5,
	operand6));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12611 */
rtx
gen_avx512vl_fixupimmv2df_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand5,
	operand6),
		operand7),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12624 */
rtx
gen_avx512f_fixupimmv16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand1,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12624 */
rtx
gen_avx512f_fixupimmv16sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand1,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12624 */
rtx
gen_avx512vl_fixupimmv8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand1,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12624 */
rtx
gen_avx512vl_fixupimmv8sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand1,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12624 */
rtx
gen_avx512vl_fixupimmv4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand1,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12624 */
rtx
gen_avx512vl_fixupimmv4sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand1,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12624 */
rtx
gen_avx512f_fixupimmv8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand1,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12624 */
rtx
gen_avx512f_fixupimmv8df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand1,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12624 */
rtx
gen_avx512vl_fixupimmv4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand1,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12624 */
rtx
gen_avx512vl_fixupimmv4df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand1,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12624 */
rtx
gen_avx512vl_fixupimmv2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand1,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12624 */
rtx
gen_avx512vl_fixupimmv2df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand1,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12656 */
rtx
gen_avx512f_sfixupimmv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12656 */
rtx
gen_avx512f_sfixupimmv4sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand2,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12656 */
rtx
gen_avx512f_sfixupimmv4sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand5,
	operand6),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12656 */
rtx
gen_avx512f_sfixupimmv4sf_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand5,
	operand6),
	operand2,
	const1_rtx),
		operand7),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12656 */
rtx
gen_avx512f_sfixupimmv2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12656 */
rtx
gen_avx512f_sfixupimmv2df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand2,
	const1_rtx),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12656 */
rtx
gen_avx512f_sfixupimmv2df_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand5,
	operand6),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12656 */
rtx
gen_avx512f_sfixupimmv2df_maskz_1_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand5,
	operand6),
	operand2,
	const1_rtx),
		operand7),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12672 */
rtx
gen_avx512f_sfixupimmv4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand2,
	const1_rtx),
	operand1,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12672 */
rtx
gen_avx512f_sfixupimmv4sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand2,
	const1_rtx),
	operand1,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12672 */
rtx
gen_avx512f_sfixupimmv2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand2,
	const1_rtx),
	operand1,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12672 */
rtx
gen_avx512f_sfixupimmv2df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	149),
	operand2,
	const1_rtx),
	operand1,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512bw_rndscalev32hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512bw_rndscalev32hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512bw_rndscalev32hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512bw_rndscalev32hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512vl_rndscalev16hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512vl_rndscalev16hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512vl_rndscalev16hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512vl_rndscalev16hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512fp16_rndscalev8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512fp16_rndscalev8hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512fp16_rndscalev8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512fp16_rndscalev8hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512f_rndscalev16sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512f_rndscalev16sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512f_rndscalev16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512f_rndscalev16sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512vl_rndscalev8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512vl_rndscalev8sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512vl_rndscalev8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512vl_rndscalev8sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512vl_rndscalev4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512vl_rndscalev4sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512vl_rndscalev4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512vl_rndscalev4sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512f_rndscalev8df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512f_rndscalev8df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512f_rndscalev8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512f_rndscalev8df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512vl_rndscalev4df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512vl_rndscalev4df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512vl_rndscalev4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512vl_rndscalev4df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512vl_rndscalev2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512vl_rndscalev2df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512vl_rndscalev2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12691 */
rtx
gen_avx512vl_rndscalev2df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12703 */
rtx
gen_avx512f_rndscalev8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand2,
		operand3),
	85),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12703 */
rtx
gen_avx512f_rndscalev8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand2,
		operand3),
	85),
	operand4,
	operand5),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12703 */
rtx
gen_avx512f_rndscalev8hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand2,
		operand3),
	85),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12703 */
rtx
gen_avx512f_rndscalev8hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand2,
		operand3),
	85),
	operand4,
	operand5),
	operand1,
	const1_rtx),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12703 */
rtx
gen_avx512f_rndscalev4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand2,
		operand3),
	85),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12703 */
rtx
gen_avx512f_rndscalev4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand2,
		operand3),
	85),
	operand4,
	operand5),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12703 */
rtx
gen_avx512f_rndscalev4sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand2,
		operand3),
	85),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12703 */
rtx
gen_avx512f_rndscalev4sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand2,
		operand3),
	85),
	operand4,
	operand5),
	operand1,
	const1_rtx),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12703 */
rtx
gen_avx512f_rndscalev2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand2,
		operand3),
	85),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12703 */
rtx
gen_avx512f_rndscalev2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand2,
		operand3),
	85),
	operand4,
	operand5),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12703 */
rtx
gen_avx512f_rndscalev2df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand2,
		operand3),
	85),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12703 */
rtx
gen_avx512f_rndscalev2df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand2,
		operand3),
	85),
	operand4,
	operand5),
	operand1,
	const1_rtx),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12735 */
rtx
gen_avx512f_shufps512_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED,
	rtx operand11 ATTRIBUTE_UNUSED,
	rtx operand12 ATTRIBUTE_UNUSED,
	rtx operand13 ATTRIBUTE_UNUSED,
	rtx operand14 ATTRIBUTE_UNUSED,
	rtx operand15 ATTRIBUTE_UNUSED,
	rtx operand16 ATTRIBUTE_UNUSED,
	rtx operand17 ATTRIBUTE_UNUSED,
	rtx operand18 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V16SFmode,
	gen_rtx_VEC_CONCAT (V32SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9,
		operand10,
		operand11,
		operand12,
		operand13,
		operand14,
		operand15,
		operand16,
		operand17,
		operand18))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12735 */
rtx
gen_avx512f_shufps512_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED,
	rtx operand11 ATTRIBUTE_UNUSED,
	rtx operand12 ATTRIBUTE_UNUSED,
	rtx operand13 ATTRIBUTE_UNUSED,
	rtx operand14 ATTRIBUTE_UNUSED,
	rtx operand15 ATTRIBUTE_UNUSED,
	rtx operand16 ATTRIBUTE_UNUSED,
	rtx operand17 ATTRIBUTE_UNUSED,
	rtx operand18 ATTRIBUTE_UNUSED,
	rtx operand19 ATTRIBUTE_UNUSED,
	rtx operand20 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_VEC_SELECT (V16SFmode,
	gen_rtx_VEC_CONCAT (V32SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9,
		operand10,
		operand11,
		operand12,
		operand13,
		operand14,
		operand15,
		operand16,
		operand17,
		operand18))),
	operand19,
	operand20));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12808 */
rtx
gen_avx512f_shufpd512_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8DFmode,
	gen_rtx_VEC_CONCAT (V16DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9,
		operand10))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12808 */
rtx
gen_avx512f_shufpd512_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED,
	rtx operand11 ATTRIBUTE_UNUSED,
	rtx operand12 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_VEC_SELECT (V8DFmode,
	gen_rtx_VEC_CONCAT (V16DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9,
		operand10))),
	operand11,
	operand12));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12861 */
rtx
gen_avx_shufpd256_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4DFmode,
	gen_rtx_VEC_CONCAT (V8DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		operand3,
		operand4,
		operand5,
		operand6))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12861 */
rtx
gen_avx_shufpd256_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_VEC_SELECT (V4DFmode,
	gen_rtx_VEC_CONCAT (V8DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		operand3,
		operand4,
		operand5,
		operand6))),
	operand7,
	operand8));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12902 */
rtx
gen_sse2_shufpd_v2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_SELECT (V2DFmode,
	gen_rtx_VEC_CONCAT (V4DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		operand3,
		operand4))),
	operand5,
	operand6));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12928 */
rtx
gen_avx2_interleave_highv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4DImode,
	gen_rtx_VEC_CONCAT (V8DImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12928 */
rtx
gen_avx2_interleave_highv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_VEC_SELECT (V4DImode,
	gen_rtx_VEC_CONCAT (V8DImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12944 */
rtx
gen_avx512f_interleave_highv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_VEC_SELECT (V8DImode,
	gen_rtx_VEC_CONCAT (V16DImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12960 */
rtx
gen_vec_interleave_highv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V2DImode,
	gen_rtx_VEC_CONCAT (V4DImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12960 */
rtx
gen_vec_interleave_highv2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_VEC_SELECT (V2DImode,
	gen_rtx_VEC_CONCAT (V4DImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12978 */
rtx
gen_avx2_interleave_lowv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4DImode,
	gen_rtx_VEC_CONCAT (V8DImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12978 */
rtx
gen_avx2_interleave_lowv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_VEC_SELECT (V4DImode,
	gen_rtx_VEC_CONCAT (V8DImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12994 */
rtx
gen_avx512f_interleave_lowv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_VEC_SELECT (V8DImode,
	gen_rtx_VEC_CONCAT (V16DImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13010 */
rtx
gen_vec_interleave_lowv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V2DImode,
	gen_rtx_VEC_CONCAT (V4DImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13010 */
rtx
gen_vec_interleave_lowv2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_VEC_SELECT (V2DImode,
	gen_rtx_VEC_CONCAT (V4DImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13028 */
rtx
gen_sse2_shufpd_v2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V2DImode,
	gen_rtx_VEC_CONCAT (V4DImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		operand3,
		operand4))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13028 */
rtx
gen_sse2_shufpd_v2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V2DFmode,
	gen_rtx_VEC_CONCAT (V4DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		operand3,
		operand4))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13061 */
rtx
gen_sse2_storehpd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13110 */
rtx
gen_sse2_storelpd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13175 */
rtx
gen_sse2_loadhpd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V2DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13234 */
rtx
gen_sse2_loadlpd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V2DFmode,
	operand2,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13295 */
rtx
gen_sse2_movsd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	operand2,
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13337 */
rtx
gen_vec_dupv2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13337 */
rtx
gen_vec_dupv2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13351 */
rtx
gen_vec_concatv2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V2DFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13404 */
rtx
gen_vec_setv8df_0 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_VEC_DUPLICATE (V8DFmode,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13404 */
rtx
gen_vec_setv4df_0 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_VEC_DUPLICATE (V4DFmode,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13581 */
rtx
gen_avx512f_ss_truncatev16siv16qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_SS_TRUNCATE (V16QImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13581 */
rtx
gen_avx512f_truncatev16siv16qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_TRUNCATE (V16QImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13581 */
rtx
gen_avx512f_us_truncatev16siv16qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_US_TRUNCATE (V16QImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13581 */
rtx
gen_avx512f_ss_truncatev16siv16hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_SS_TRUNCATE (V16HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13581 */
rtx
gen_avx512f_truncatev16siv16hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_TRUNCATE (V16HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13581 */
rtx
gen_avx512f_us_truncatev16siv16hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_US_TRUNCATE (V16HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13581 */
rtx
gen_avx512f_ss_truncatev8div8si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_SS_TRUNCATE (V8SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13581 */
rtx
gen_avx512f_truncatev8div8si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_TRUNCATE (V8SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13581 */
rtx
gen_avx512f_us_truncatev8div8si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_US_TRUNCATE (V8SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13581 */
rtx
gen_avx512f_ss_truncatev8div8hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_SS_TRUNCATE (V8HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13581 */
rtx
gen_avx512f_truncatev8div8hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_TRUNCATE (V8HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13581 */
rtx
gen_avx512f_us_truncatev8div8hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_US_TRUNCATE (V8HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13610 */
rtx
gen_avx512bw_ss_truncatev32hiv32qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SS_TRUNCATE (V32QImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13610 */
rtx
gen_avx512bw_truncatev32hiv32qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V32QImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13610 */
rtx
gen_avx512bw_us_truncatev32hiv32qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_US_TRUNCATE (V32QImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13653 */
rtx
gen_avx512bw_ss_truncatev32hiv32qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_SS_TRUNCATE (V32QImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13653 */
rtx
gen_avx512bw_truncatev32hiv32qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_TRUNCATE (V32QImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13653 */
rtx
gen_avx512bw_us_truncatev32hiv32qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_US_TRUNCATE (V32QImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13741 */
rtx
gen_avx512vl_ss_truncatev4div4si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_SS_TRUNCATE (V4SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13741 */
rtx
gen_avx512vl_truncatev4div4si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_TRUNCATE (V4SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13741 */
rtx
gen_avx512vl_us_truncatev4div4si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_US_TRUNCATE (V4SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13741 */
rtx
gen_avx512vl_ss_truncatev8siv8hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_SS_TRUNCATE (V8HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13741 */
rtx
gen_avx512vl_truncatev8siv8hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_TRUNCATE (V8HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13741 */
rtx
gen_avx512vl_us_truncatev8siv8hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_US_TRUNCATE (V8HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13741 */
rtx
gen_avx512vl_ss_truncatev16hiv16qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_SS_TRUNCATE (V16QImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13741 */
rtx
gen_avx512vl_truncatev16hiv16qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_TRUNCATE (V16QImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13741 */
rtx
gen_avx512vl_us_truncatev16hiv16qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_US_TRUNCATE (V16QImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13790 */
rtx
gen_avx512vl_ss_truncatev4div4qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_SS_TRUNCATE (V4QImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13790 */
rtx
gen_avx512vl_truncatev4div4qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_TRUNCATE (V4QImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13790 */
rtx
gen_avx512vl_us_truncatev4div4qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_US_TRUNCATE (V4QImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13790 */
rtx
gen_avx512vl_ss_truncatev2div2qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_SS_TRUNCATE (V2QImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13790 */
rtx
gen_avx512vl_truncatev2div2qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_TRUNCATE (V2QImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13790 */
rtx
gen_avx512vl_us_truncatev2div2qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_US_TRUNCATE (V2QImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13790 */
rtx
gen_avx512vl_ss_truncatev8siv8qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_SS_TRUNCATE (V8QImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13790 */
rtx
gen_avx512vl_truncatev8siv8qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_TRUNCATE (V8QImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13790 */
rtx
gen_avx512vl_us_truncatev8siv8qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_US_TRUNCATE (V8QImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13790 */
rtx
gen_avx512vl_ss_truncatev4siv4qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_SS_TRUNCATE (V4QImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13790 */
rtx
gen_avx512vl_truncatev4siv4qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_TRUNCATE (V4QImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13790 */
rtx
gen_avx512vl_us_truncatev4siv4qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_US_TRUNCATE (V4QImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13790 */
rtx
gen_avx512vl_ss_truncatev8hiv8qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_SS_TRUNCATE (V8QImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13790 */
rtx
gen_avx512vl_truncatev8hiv8qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_TRUNCATE (V8QImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13790 */
rtx
gen_avx512vl_us_truncatev8hiv8qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_US_TRUNCATE (V8QImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13848 */
rtx
gen_avx512vl_ss_truncatev2div2qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_VEC_MERGE (V2QImode,
	gen_rtx_SS_TRUNCATE (V2QImode,
	operand1),
	gen_rtx_VEC_SELECT (V2QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand3),
	gen_rtx_CONST_VECTOR (V14QImode,
	gen_rtvec (14,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13848 */
rtx
gen_avx512vl_truncatev2div2qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_VEC_MERGE (V2QImode,
	gen_rtx_TRUNCATE (V2QImode,
	operand1),
	gen_rtx_VEC_SELECT (V2QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand3),
	gen_rtx_CONST_VECTOR (V14QImode,
	gen_rtvec (14,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13848 */
rtx
gen_avx512vl_us_truncatev2div2qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_VEC_MERGE (V2QImode,
	gen_rtx_US_TRUNCATE (V2QImode,
	operand1),
	gen_rtx_VEC_SELECT (V2QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand3),
	gen_rtx_CONST_VECTOR (V14QImode,
	gen_rtvec (14,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13906 */
rtx
gen_avx512vl_ss_truncatev2div2qi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (HImode,
	gen_rtx_VEC_MERGE (V2QImode,
	gen_rtx_SS_TRUNCATE (V2QImode,
	operand1),
	gen_rtx_VEC_SELECT (V2QImode,
	gen_rtx_SUBREG (V4QImode,
	gen_rtx_VEC_CONCAT (V2HImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13906 */
rtx
gen_avx512vl_truncatev2div2qi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (HImode,
	gen_rtx_VEC_MERGE (V2QImode,
	gen_rtx_TRUNCATE (V2QImode,
	operand1),
	gen_rtx_VEC_SELECT (V2QImode,
	gen_rtx_SUBREG (V4QImode,
	gen_rtx_VEC_CONCAT (V2HImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13906 */
rtx
gen_avx512vl_us_truncatev2div2qi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (HImode,
	gen_rtx_VEC_MERGE (V2QImode,
	gen_rtx_US_TRUNCATE (V2QImode,
	operand1),
	gen_rtx_VEC_SELECT (V2QImode,
	gen_rtx_SUBREG (V4QImode,
	gen_rtx_VEC_CONCAT (V2HImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13952 */
rtx
gen_avx512vl_ss_truncatev4siv4qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_VEC_MERGE (V4QImode,
	gen_rtx_SS_TRUNCATE (V4QImode,
	operand1),
	gen_rtx_VEC_SELECT (V4QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand3),
	gen_rtx_CONST_VECTOR (V12QImode,
	gen_rtvec (12,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13952 */
rtx
gen_avx512vl_truncatev4siv4qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_VEC_MERGE (V4QImode,
	gen_rtx_TRUNCATE (V4QImode,
	operand1),
	gen_rtx_VEC_SELECT (V4QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand3),
	gen_rtx_CONST_VECTOR (V12QImode,
	gen_rtvec (12,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13952 */
rtx
gen_avx512vl_us_truncatev4siv4qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_VEC_MERGE (V4QImode,
	gen_rtx_US_TRUNCATE (V4QImode,
	operand1),
	gen_rtx_VEC_SELECT (V4QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand3),
	gen_rtx_CONST_VECTOR (V12QImode,
	gen_rtvec (12,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13952 */
rtx
gen_avx512vl_ss_truncatev4div4qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_VEC_MERGE (V4QImode,
	gen_rtx_SS_TRUNCATE (V4QImode,
	operand1),
	gen_rtx_VEC_SELECT (V4QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand3),
	gen_rtx_CONST_VECTOR (V12QImode,
	gen_rtvec (12,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13952 */
rtx
gen_avx512vl_truncatev4div4qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_VEC_MERGE (V4QImode,
	gen_rtx_TRUNCATE (V4QImode,
	operand1),
	gen_rtx_VEC_SELECT (V4QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand3),
	gen_rtx_CONST_VECTOR (V12QImode,
	gen_rtvec (12,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13952 */
rtx
gen_avx512vl_us_truncatev4div4qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_VEC_MERGE (V4QImode,
	gen_rtx_US_TRUNCATE (V4QImode,
	operand1),
	gen_rtx_VEC_SELECT (V4QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand3),
	gen_rtx_CONST_VECTOR (V12QImode,
	gen_rtvec (12,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14010 */
rtx
gen_avx512vl_ss_truncatev4siv4qi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (SImode,
	gen_rtx_VEC_MERGE (V4QImode,
	gen_rtx_SS_TRUNCATE (V4QImode,
	operand1),
	gen_rtx_VEC_SELECT (V4QImode,
	gen_rtx_SUBREG (V8QImode,
	gen_rtx_VEC_CONCAT (V2SImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14010 */
rtx
gen_avx512vl_truncatev4siv4qi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (SImode,
	gen_rtx_VEC_MERGE (V4QImode,
	gen_rtx_TRUNCATE (V4QImode,
	operand1),
	gen_rtx_VEC_SELECT (V4QImode,
	gen_rtx_SUBREG (V8QImode,
	gen_rtx_VEC_CONCAT (V2SImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14010 */
rtx
gen_avx512vl_us_truncatev4siv4qi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (SImode,
	gen_rtx_VEC_MERGE (V4QImode,
	gen_rtx_US_TRUNCATE (V4QImode,
	operand1),
	gen_rtx_VEC_SELECT (V4QImode,
	gen_rtx_SUBREG (V8QImode,
	gen_rtx_VEC_CONCAT (V2SImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14010 */
rtx
gen_avx512vl_ss_truncatev4div4qi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (SImode,
	gen_rtx_VEC_MERGE (V4QImode,
	gen_rtx_SS_TRUNCATE (V4QImode,
	operand1),
	gen_rtx_VEC_SELECT (V4QImode,
	gen_rtx_SUBREG (V8QImode,
	gen_rtx_VEC_CONCAT (V2SImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14010 */
rtx
gen_avx512vl_truncatev4div4qi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (SImode,
	gen_rtx_VEC_MERGE (V4QImode,
	gen_rtx_TRUNCATE (V4QImode,
	operand1),
	gen_rtx_VEC_SELECT (V4QImode,
	gen_rtx_SUBREG (V8QImode,
	gen_rtx_VEC_CONCAT (V2SImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14010 */
rtx
gen_avx512vl_us_truncatev4div4qi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (SImode,
	gen_rtx_VEC_MERGE (V4QImode,
	gen_rtx_US_TRUNCATE (V4QImode,
	operand1),
	gen_rtx_VEC_SELECT (V4QImode,
	gen_rtx_SUBREG (V8QImode,
	gen_rtx_VEC_CONCAT (V2SImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14060 */
rtx
gen_avx512vl_ss_truncatev8hiv8qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_SS_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_VEC_SELECT (V8QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand3),
	gen_rtx_CONST_VECTOR (V8QImode,
	gen_rtvec (8,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14060 */
rtx
gen_avx512vl_truncatev8hiv8qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_VEC_SELECT (V8QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand3),
	gen_rtx_CONST_VECTOR (V8QImode,
	gen_rtvec (8,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14060 */
rtx
gen_avx512vl_us_truncatev8hiv8qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_US_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_VEC_SELECT (V8QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand3),
	gen_rtx_CONST_VECTOR (V8QImode,
	gen_rtvec (8,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14060 */
rtx
gen_avx512vl_ss_truncatev8siv8qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_SS_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_VEC_SELECT (V8QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand3),
	gen_rtx_CONST_VECTOR (V8QImode,
	gen_rtvec (8,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14060 */
rtx
gen_avx512vl_truncatev8siv8qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_VEC_SELECT (V8QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand3),
	gen_rtx_CONST_VECTOR (V8QImode,
	gen_rtvec (8,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14060 */
rtx
gen_avx512vl_us_truncatev8siv8qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_US_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_VEC_SELECT (V8QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand3),
	gen_rtx_CONST_VECTOR (V8QImode,
	gen_rtvec (8,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14118 */
rtx
gen_avx512vl_ss_truncatev8hiv8qi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (DImode,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_SS_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_VEC_SELECT (V8QImode,
	gen_rtx_SUBREG (V16QImode,
	gen_rtx_VEC_CONCAT (V2DImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14118 */
rtx
gen_avx512vl_truncatev8hiv8qi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (DImode,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_VEC_SELECT (V8QImode,
	gen_rtx_SUBREG (V16QImode,
	gen_rtx_VEC_CONCAT (V2DImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14118 */
rtx
gen_avx512vl_us_truncatev8hiv8qi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (DImode,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_US_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_VEC_SELECT (V8QImode,
	gen_rtx_SUBREG (V16QImode,
	gen_rtx_VEC_CONCAT (V2DImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14118 */
rtx
gen_avx512vl_ss_truncatev8siv8qi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (DImode,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_SS_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_VEC_SELECT (V8QImode,
	gen_rtx_SUBREG (V16QImode,
	gen_rtx_VEC_CONCAT (V2DImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14118 */
rtx
gen_avx512vl_truncatev8siv8qi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (DImode,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_VEC_SELECT (V8QImode,
	gen_rtx_SUBREG (V16QImode,
	gen_rtx_VEC_CONCAT (V2DImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14118 */
rtx
gen_avx512vl_us_truncatev8siv8qi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (DImode,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_US_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_VEC_SELECT (V8QImode,
	gen_rtx_SUBREG (V16QImode,
	gen_rtx_VEC_CONCAT (V2DImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14170 */
rtx
gen_avx512vl_ss_truncatev4div4hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_SS_TRUNCATE (V4HImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14170 */
rtx
gen_avx512vl_truncatev4div4hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_TRUNCATE (V4HImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14170 */
rtx
gen_avx512vl_us_truncatev4div4hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_US_TRUNCATE (V4HImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14170 */
rtx
gen_avx512vl_ss_truncatev2div2hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_SS_TRUNCATE (V2HImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14170 */
rtx
gen_avx512vl_truncatev2div2hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_TRUNCATE (V2HImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14170 */
rtx
gen_avx512vl_us_truncatev2div2hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_US_TRUNCATE (V2HImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14170 */
rtx
gen_avx512vl_ss_truncatev4siv4hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_SS_TRUNCATE (V4HImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14170 */
rtx
gen_avx512vl_truncatev4siv4hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_TRUNCATE (V4HImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14170 */
rtx
gen_avx512vl_us_truncatev4siv4hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_US_TRUNCATE (V4HImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14228 */
rtx
gen_avx512vl_ss_truncatev4siv4hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_VEC_MERGE (V4HImode,
	gen_rtx_SS_TRUNCATE (V4HImode,
	operand1),
	gen_rtx_VEC_SELECT (V4HImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand3),
	gen_rtx_CONST_VECTOR (V4HImode,
	gen_rtvec (4,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14228 */
rtx
gen_avx512vl_truncatev4siv4hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_VEC_MERGE (V4HImode,
	gen_rtx_TRUNCATE (V4HImode,
	operand1),
	gen_rtx_VEC_SELECT (V4HImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand3),
	gen_rtx_CONST_VECTOR (V4HImode,
	gen_rtvec (4,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14228 */
rtx
gen_avx512vl_us_truncatev4siv4hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_VEC_MERGE (V4HImode,
	gen_rtx_US_TRUNCATE (V4HImode,
	operand1),
	gen_rtx_VEC_SELECT (V4HImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand3),
	gen_rtx_CONST_VECTOR (V4HImode,
	gen_rtvec (4,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14228 */
rtx
gen_avx512vl_ss_truncatev4div4hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_VEC_MERGE (V4HImode,
	gen_rtx_SS_TRUNCATE (V4HImode,
	operand1),
	gen_rtx_VEC_SELECT (V4HImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand3),
	gen_rtx_CONST_VECTOR (V4HImode,
	gen_rtvec (4,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14228 */
rtx
gen_avx512vl_truncatev4div4hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_VEC_MERGE (V4HImode,
	gen_rtx_TRUNCATE (V4HImode,
	operand1),
	gen_rtx_VEC_SELECT (V4HImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand3),
	gen_rtx_CONST_VECTOR (V4HImode,
	gen_rtvec (4,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14228 */
rtx
gen_avx512vl_us_truncatev4div4hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_VEC_MERGE (V4HImode,
	gen_rtx_US_TRUNCATE (V4HImode,
	operand1),
	gen_rtx_VEC_SELECT (V4HImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand3),
	gen_rtx_CONST_VECTOR (V4HImode,
	gen_rtvec (4,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14282 */
rtx
gen_avx512vl_ss_truncatev4siv4hi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (DImode,
	gen_rtx_VEC_MERGE (V4HImode,
	gen_rtx_SS_TRUNCATE (V4HImode,
	operand1),
	gen_rtx_VEC_SELECT (V4HImode,
	gen_rtx_SUBREG (V8HImode,
	gen_rtx_VEC_CONCAT (V2DImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14282 */
rtx
gen_avx512vl_truncatev4siv4hi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (DImode,
	gen_rtx_VEC_MERGE (V4HImode,
	gen_rtx_TRUNCATE (V4HImode,
	operand1),
	gen_rtx_VEC_SELECT (V4HImode,
	gen_rtx_SUBREG (V8HImode,
	gen_rtx_VEC_CONCAT (V2DImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14282 */
rtx
gen_avx512vl_us_truncatev4siv4hi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (DImode,
	gen_rtx_VEC_MERGE (V4HImode,
	gen_rtx_US_TRUNCATE (V4HImode,
	operand1),
	gen_rtx_VEC_SELECT (V4HImode,
	gen_rtx_SUBREG (V8HImode,
	gen_rtx_VEC_CONCAT (V2DImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14282 */
rtx
gen_avx512vl_ss_truncatev4div4hi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (DImode,
	gen_rtx_VEC_MERGE (V4HImode,
	gen_rtx_SS_TRUNCATE (V4HImode,
	operand1),
	gen_rtx_VEC_SELECT (V4HImode,
	gen_rtx_SUBREG (V8HImode,
	gen_rtx_VEC_CONCAT (V2DImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14282 */
rtx
gen_avx512vl_truncatev4div4hi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (DImode,
	gen_rtx_VEC_MERGE (V4HImode,
	gen_rtx_TRUNCATE (V4HImode,
	operand1),
	gen_rtx_VEC_SELECT (V4HImode,
	gen_rtx_SUBREG (V8HImode,
	gen_rtx_VEC_CONCAT (V2DImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14282 */
rtx
gen_avx512vl_us_truncatev4div4hi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (DImode,
	gen_rtx_VEC_MERGE (V4HImode,
	gen_rtx_US_TRUNCATE (V4HImode,
	operand1),
	gen_rtx_VEC_SELECT (V4HImode,
	gen_rtx_SUBREG (V8HImode,
	gen_rtx_VEC_CONCAT (V2DImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14330 */
rtx
gen_avx512vl_ss_truncatev2div2hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_VEC_MERGE (V2HImode,
	gen_rtx_SS_TRUNCATE (V2HImode,
	operand1),
	gen_rtx_VEC_SELECT (V2HImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand3),
	gen_rtx_CONST_VECTOR (V6HImode,
	gen_rtvec (6,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14330 */
rtx
gen_avx512vl_truncatev2div2hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_VEC_MERGE (V2HImode,
	gen_rtx_TRUNCATE (V2HImode,
	operand1),
	gen_rtx_VEC_SELECT (V2HImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand3),
	gen_rtx_CONST_VECTOR (V6HImode,
	gen_rtvec (6,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14330 */
rtx
gen_avx512vl_us_truncatev2div2hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_VEC_MERGE (V2HImode,
	gen_rtx_US_TRUNCATE (V2HImode,
	operand1),
	gen_rtx_VEC_SELECT (V2HImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand3),
	gen_rtx_CONST_VECTOR (V6HImode,
	gen_rtvec (6,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14380 */
rtx
gen_avx512vl_ss_truncatev2div2hi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (SImode,
	gen_rtx_VEC_MERGE (V2HImode,
	gen_rtx_SS_TRUNCATE (V2HImode,
	operand1),
	gen_rtx_VEC_SELECT (V2HImode,
	gen_rtx_SUBREG (V4HImode,
	gen_rtx_VEC_CONCAT (V2SImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14380 */
rtx
gen_avx512vl_truncatev2div2hi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (SImode,
	gen_rtx_VEC_MERGE (V2HImode,
	gen_rtx_TRUNCATE (V2HImode,
	operand1),
	gen_rtx_VEC_SELECT (V2HImode,
	gen_rtx_SUBREG (V4HImode,
	gen_rtx_VEC_CONCAT (V2SImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14380 */
rtx
gen_avx512vl_us_truncatev2div2hi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (SImode,
	gen_rtx_VEC_MERGE (V2HImode,
	gen_rtx_US_TRUNCATE (V2HImode,
	operand1),
	gen_rtx_VEC_SELECT (V2HImode,
	gen_rtx_SUBREG (V4HImode,
	gen_rtx_VEC_CONCAT (V2SImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14419 */
rtx
gen_avx512vl_ss_truncatev2div2si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SImode,
	gen_rtx_SS_TRUNCATE (V2SImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14419 */
rtx
gen_avx512vl_truncatev2div2si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SImode,
	gen_rtx_TRUNCATE (V2SImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14419 */
rtx
gen_avx512vl_us_truncatev2div2si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SImode,
	gen_rtx_US_TRUNCATE (V2SImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14477 */
rtx
gen_avx512vl_ss_truncatev2div2si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SImode,
	gen_rtx_VEC_MERGE (V2SImode,
	gen_rtx_SS_TRUNCATE (V2SImode,
	operand1),
	gen_rtx_VEC_SELECT (V2SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand3),
	gen_rtx_CONST_VECTOR (V2SImode,
	gen_rtvec (2,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14477 */
rtx
gen_avx512vl_truncatev2div2si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SImode,
	gen_rtx_VEC_MERGE (V2SImode,
	gen_rtx_TRUNCATE (V2SImode,
	operand1),
	gen_rtx_VEC_SELECT (V2SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand3),
	gen_rtx_CONST_VECTOR (V2SImode,
	gen_rtvec (2,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14477 */
rtx
gen_avx512vl_us_truncatev2div2si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SImode,
	gen_rtx_VEC_MERGE (V2SImode,
	gen_rtx_US_TRUNCATE (V2SImode,
	operand1),
	gen_rtx_VEC_SELECT (V2SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand3),
	gen_rtx_CONST_VECTOR (V2SImode,
	gen_rtvec (2,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14523 */
rtx
gen_avx512vl_ss_truncatev2div2si2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (DImode,
	gen_rtx_VEC_MERGE (V2SImode,
	gen_rtx_SS_TRUNCATE (V2SImode,
	operand1),
	gen_rtx_VEC_SELECT (V2SImode,
	gen_rtx_SUBREG (V4SImode,
	gen_rtx_VEC_CONCAT (V2DImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14523 */
rtx
gen_avx512vl_truncatev2div2si2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (DImode,
	gen_rtx_VEC_MERGE (V2SImode,
	gen_rtx_TRUNCATE (V2SImode,
	operand1),
	gen_rtx_VEC_SELECT (V2SImode,
	gen_rtx_SUBREG (V4SImode,
	gen_rtx_VEC_CONCAT (V2DImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14523 */
rtx
gen_avx512vl_us_truncatev2div2si2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (DImode,
	gen_rtx_VEC_MERGE (V2SImode,
	gen_rtx_US_TRUNCATE (V2SImode,
	operand1),
	gen_rtx_VEC_SELECT (V2SImode,
	gen_rtx_SUBREG (V4SImode,
	gen_rtx_VEC_CONCAT (V2DImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14561 */
rtx
gen_avx512f_ss_truncatev8div16qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_SS_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_CONST_VECTOR (V8QImode,
	gen_rtvec (8,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14561 */
rtx
gen_avx512f_truncatev8div16qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_CONST_VECTOR (V8QImode,
	gen_rtvec (8,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14561 */
rtx
gen_avx512f_us_truncatev8div16qi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_US_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_CONST_VECTOR (V8QImode,
	gen_rtvec (8,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14599 */
rtx
gen_avx512f_ss_truncatev8div16qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_SS_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_VEC_SELECT (V8QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand3),
	gen_rtx_CONST_VECTOR (V8QImode,
	gen_rtvec (8,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14599 */
rtx
gen_avx512f_truncatev8div16qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_VEC_SELECT (V8QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand3),
	gen_rtx_CONST_VECTOR (V8QImode,
	gen_rtvec (8,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14599 */
rtx
gen_avx512f_us_truncatev8div16qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_US_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_VEC_SELECT (V8QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand3),
	gen_rtx_CONST_VECTOR (V8QImode,
	gen_rtvec (8,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx,
		const0_rtx))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14657 */
rtx
gen_avx512f_ss_truncatev8div16qi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (DImode,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_SS_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_VEC_SELECT (V8QImode,
	gen_rtx_SUBREG (V16QImode,
	gen_rtx_VEC_CONCAT (V2DImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14657 */
rtx
gen_avx512f_truncatev8div16qi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (DImode,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_VEC_SELECT (V8QImode,
	gen_rtx_SUBREG (V16QImode,
	gen_rtx_VEC_CONCAT (V2DImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14657 */
rtx
gen_avx512f_us_truncatev8div16qi2_mask_store_2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (DImode,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_US_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_VEC_SELECT (V8QImode,
	gen_rtx_SUBREG (V16QImode,
	gen_rtx_VEC_CONCAT (V2DImode,
	operand0,
	const0_rtx),
	0),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2),
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15158 */
rtx
gen_avx512bw_pmaddwd512v32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	177));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15158 */
rtx
gen_avx512bw_pmaddwd512v32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	177),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15158 */
rtx
gen_avx512bw_pmaddwd512v16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	177));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15158 */
rtx
gen_avx512bw_pmaddwd512v16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	177),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15158 */
rtx
gen_avx512bw_pmaddwd512v8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	177));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15158 */
rtx
gen_avx512bw_pmaddwd512v8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	177),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15582 */
rtx
gen_ashrv16hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_ASHIFTRT (V16HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15582 */
rtx
gen_ashrv8hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_ASHIFTRT (V8HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15582 */
rtx
gen_ashrv8si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_ASHIFTRT (V8SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15582 */
rtx
gen_ashrv4si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_ASHIFTRT (V4SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15582 */
rtx
gen_ashrv2di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_ASHIFTRT (V2DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15596 */
rtx
gen_ashrv16hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V16HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15596 */
rtx
gen_ashrv8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V8HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15596 */
rtx
gen_ashrv8si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V8SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15596 */
rtx
gen_ashrv4si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V4SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15615 */
rtx
gen_ashrv32hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_ASHIFTRT (V32HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15615 */
rtx
gen_ashrv4di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_ASHIFTRT (V4DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15615 */
rtx
gen_ashrv16si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_ASHIFTRT (V16SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15615 */
rtx
gen_ashrv8di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_ASHIFTRT (V8DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15749 */
rtx
gen_ashlv16hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_ASHIFT (V16HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15749 */
rtx
gen_lshrv16hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_LSHIFTRT (V16HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15749 */
rtx
gen_ashlv8hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_ASHIFT (V8HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15749 */
rtx
gen_lshrv8hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_LSHIFTRT (V8HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15749 */
rtx
gen_ashlv8si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_ASHIFT (V8SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15749 */
rtx
gen_lshrv8si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_LSHIFTRT (V8SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15749 */
rtx
gen_ashlv4si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_ASHIFT (V4SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15749 */
rtx
gen_lshrv4si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_LSHIFTRT (V4SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15749 */
rtx
gen_ashlv4di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_ASHIFT (V4DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15749 */
rtx
gen_lshrv4di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_LSHIFTRT (V4DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15749 */
rtx
gen_ashlv2di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_ASHIFT (V2DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15749 */
rtx
gen_lshrv2di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_LSHIFTRT (V2DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15763 */
rtx
gen_ashlv16hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V16HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15763 */
rtx
gen_lshrv16hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V16HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15763 */
rtx
gen_ashlv8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V8HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15763 */
rtx
gen_lshrv8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V8HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15763 */
rtx
gen_ashlv8si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V8SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15763 */
rtx
gen_lshrv8si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V8SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15763 */
rtx
gen_ashlv4si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V4SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15763 */
rtx
gen_lshrv4si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V4SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15763 */
rtx
gen_ashlv4di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V4DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15763 */
rtx
gen_lshrv4di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V4DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15763 */
rtx
gen_ashlv2di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V2DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15763 */
rtx
gen_lshrv2di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V2DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15782 */
rtx
gen_ashlv32hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V32HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15782 */
rtx
gen_ashlv32hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_ASHIFT (V32HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15782 */
rtx
gen_lshrv32hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V32HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15782 */
rtx
gen_lshrv32hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_LSHIFTRT (V32HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15782 */
rtx
gen_ashlv16si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V16SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15782 */
rtx
gen_ashlv16si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_ASHIFT (V16SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15782 */
rtx
gen_lshrv16si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V16SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15782 */
rtx
gen_lshrv16si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_LSHIFTRT (V16SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15782 */
rtx
gen_ashlv8di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V8DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15782 */
rtx
gen_ashlv8di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_ASHIFT (V8DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15782 */
rtx
gen_lshrv8di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V8DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15782 */
rtx
gen_lshrv8di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_LSHIFTRT (V8DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15892 */
rtx
gen_avx512bw_ashlv4ti3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V4TImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15892 */
rtx
gen_avx512bw_lshrv4ti3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V4TImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15892 */
rtx
gen_avx512bw_ashlv2ti3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V2TImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15892 */
rtx
gen_avx512bw_lshrv2ti3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V2TImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15892 */
rtx
gen_avx512bw_ashlv1ti3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V1TImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15892 */
rtx
gen_avx512bw_lshrv1ti3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V1TImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15907 */
rtx
gen_avx2_ashlv2ti3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V2TImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15907 */
rtx
gen_avx2_lshrv2ti3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V2TImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15907 */
rtx
gen_sse2_ashlv1ti3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V1TImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15907 */
rtx
gen_sse2_lshrv1ti3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V1TImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512f_rolvv16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATE (V16SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512f_rolvv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_ROTATE (V16SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512f_rorvv16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (V16SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512f_rorvv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_ROTATERT (V16SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512vl_rolvv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATE (V8SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512vl_rolvv8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_ROTATE (V8SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512vl_rorvv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (V8SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512vl_rorvv8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_ROTATERT (V8SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512vl_rolvv4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATE (V4SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512vl_rolvv4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_ROTATE (V4SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512vl_rorvv4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (V4SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512vl_rorvv4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_ROTATERT (V4SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512f_rolvv8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATE (V8DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512f_rolvv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_ROTATE (V8DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512f_rorvv8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (V8DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512f_rorvv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_ROTATERT (V8DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512vl_rolvv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATE (V4DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512vl_rolvv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_ROTATE (V4DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512vl_rorvv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (V4DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512vl_rorvv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_ROTATERT (V4DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512vl_rolvv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATE (V2DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512vl_rolvv2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_ROTATE (V2DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512vl_rorvv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (V2DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15934 */
rtx
gen_avx512vl_rorvv2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_ROTATERT (V2DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512f_rolv16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATE (V16SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512f_rolv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_ROTATE (V16SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512f_rorv16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (V16SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512f_rorv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_ROTATERT (V16SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512vl_rolv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATE (V8SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512vl_rolv8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_ROTATE (V8SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512vl_rorv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (V8SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512vl_rorv8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_ROTATERT (V8SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512vl_rolv4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATE (V4SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512vl_rolv4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_ROTATE (V4SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512vl_rorv4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (V4SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512vl_rorv4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_ROTATERT (V4SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512f_rolv8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATE (V8DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512f_rolv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_ROTATE (V8DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512f_rorv8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (V8DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512f_rorv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_ROTATERT (V8DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512vl_rolv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATE (V4DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512vl_rolv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_ROTATE (V4DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512vl_rorv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (V4DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512vl_rorv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_ROTATERT (V4DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512vl_rolv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATE (V2DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512vl_rolv2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_ROTATE (V2DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512vl_rorv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (V2DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15944 */
rtx
gen_avx512vl_rorv2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_ROTATERT (V2DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_smaxv64qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_SMAX (V64QImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_sminv64qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_SMIN (V64QImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_umaxv64qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_UMAX (V64QImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_uminv64qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_UMIN (V64QImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_smaxv16qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_SMAX (V16QImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_sminv16qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_SMIN (V16QImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_umaxv16qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_UMAX (V16QImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_uminv16qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_UMIN (V16QImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_smaxv32qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_SMAX (V32QImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_sminv32qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_SMIN (V32QImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_umaxv32qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_UMAX (V32QImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_uminv32qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_UMIN (V32QImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_smaxv32hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_SMAX (V32HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_sminv32hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_SMIN (V32HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_umaxv32hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UMAX (V32HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_uminv32hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UMIN (V32HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_smaxv16hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_SMAX (V16HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_sminv16hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_SMIN (V16HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_umaxv16hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UMAX (V16HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_uminv16hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UMIN (V16HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_smaxv8hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_SMAX (V8HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_sminv8hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_SMIN (V8HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_umaxv8hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UMAX (V8HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16015 */
rtx
gen_uminv8hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UMIN (V8HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16450 */
rtx
gen_sse4_2_gtv2di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_GT (V2DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16466 */
rtx
gen_avx2_gtv32qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_GT (V32QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16466 */
rtx
gen_avx2_gtv16hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_GT (V16HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16466 */
rtx
gen_avx2_gtv8si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_GT (V8SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16466 */
rtx
gen_avx2_gtv4di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_GT (V4DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16712 */
rtx
gen_one_cmplv16si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_XOR (V16SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16712 */
rtx
gen_one_cmplv8di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_XOR (V8DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16712 */
rtx
gen_one_cmplv8si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_XOR (V8SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16712 */
rtx
gen_one_cmplv4si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_XOR (V4SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16712 */
rtx
gen_one_cmplv4di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_XOR (V4DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16712 */
rtx
gen_one_cmplv2di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_XOR (V2DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17137 */
rtx
gen_andv1ti3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V1TImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17137 */
rtx
gen_iorv1ti3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IOR (V1TImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17137 */
rtx
gen_xorv1ti3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_XOR (V1TImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512bw_testmv64qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512bw_testmv64qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (DImode,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512vl_testmv32qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512vl_testmv32qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512vl_testmv16qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512vl_testmv16qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512bw_testmv32hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512bw_testmv32hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512vl_testmv16hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512vl_testmv16hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512vl_testmv8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512vl_testmv8hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512f_testmv16si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512f_testmv16si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512vl_testmv8si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512vl_testmv8si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512vl_testmv4si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512vl_testmv4si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512f_testmv8di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512f_testmv8di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512vl_testmv4di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512vl_testmv4di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512vl_testmv2di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17165 */
rtx
gen_avx512vl_testmv2di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	144),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512bw_testnmv64qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512bw_testnmv64qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (DImode,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512vl_testnmv32qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512vl_testnmv32qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512vl_testnmv16qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512vl_testnmv16qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512bw_testnmv32hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512bw_testnmv32hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512vl_testnmv16hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512vl_testnmv16hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512vl_testnmv8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512vl_testnmv8hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512f_testnmv16si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512f_testnmv16si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512vl_testnmv8si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512vl_testnmv8si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512vl_testnmv4si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512vl_testnmv4si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512f_testnmv8di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512f_testnmv8di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512vl_testnmv4di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512vl_testnmv4di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512vl_testnmv2di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17176 */
rtx
gen_avx512vl_testnmv2di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	145),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17319 */
rtx
gen_avx512bw_packsswb (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V64QImode,
	gen_rtx_SS_TRUNCATE (V32QImode,
	operand1),
	gen_rtx_SS_TRUNCATE (V32QImode,
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17319 */
rtx
gen_avx512bw_packsswb_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_VEC_CONCAT (V64QImode,
	gen_rtx_SS_TRUNCATE (V32QImode,
	operand1),
	gen_rtx_SS_TRUNCATE (V32QImode,
	operand2)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17319 */
rtx
gen_avx2_packsswb (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V32QImode,
	gen_rtx_SS_TRUNCATE (V16QImode,
	operand1),
	gen_rtx_SS_TRUNCATE (V16QImode,
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17319 */
rtx
gen_avx2_packsswb_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_VEC_CONCAT (V32QImode,
	gen_rtx_SS_TRUNCATE (V16QImode,
	operand1),
	gen_rtx_SS_TRUNCATE (V16QImode,
	operand2)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17319 */
rtx
gen_sse2_packsswb (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_SS_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_SS_TRUNCATE (V8QImode,
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17319 */
rtx
gen_sse2_packsswb_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_SS_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_SS_TRUNCATE (V8QImode,
	operand2)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17336 */
rtx
gen_avx512bw_packssdw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V32HImode,
	gen_rtx_SS_TRUNCATE (V16HImode,
	operand1),
	gen_rtx_SS_TRUNCATE (V16HImode,
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17336 */
rtx
gen_avx512bw_packssdw_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_VEC_CONCAT (V32HImode,
	gen_rtx_SS_TRUNCATE (V16HImode,
	operand1),
	gen_rtx_SS_TRUNCATE (V16HImode,
	operand2)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17336 */
rtx
gen_avx2_packssdw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16HImode,
	gen_rtx_SS_TRUNCATE (V8HImode,
	operand1),
	gen_rtx_SS_TRUNCATE (V8HImode,
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17336 */
rtx
gen_avx2_packssdw_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_VEC_CONCAT (V16HImode,
	gen_rtx_SS_TRUNCATE (V8HImode,
	operand1),
	gen_rtx_SS_TRUNCATE (V8HImode,
	operand2)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17336 */
rtx
gen_sse2_packssdw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_SS_TRUNCATE (V4HImode,
	operand1),
	gen_rtx_SS_TRUNCATE (V4HImode,
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17336 */
rtx
gen_sse2_packssdw_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_SS_TRUNCATE (V4HImode,
	operand1),
	gen_rtx_SS_TRUNCATE (V4HImode,
	operand2)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17353 */
rtx
gen_avx512bw_packuswb (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V64QImode,
	gen_rtx_US_TRUNCATE (V32QImode,
	operand1),
	gen_rtx_US_TRUNCATE (V32QImode,
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17353 */
rtx
gen_avx512bw_packuswb_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_VEC_CONCAT (V64QImode,
	gen_rtx_US_TRUNCATE (V32QImode,
	operand1),
	gen_rtx_US_TRUNCATE (V32QImode,
	operand2)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17353 */
rtx
gen_avx2_packuswb (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V32QImode,
	gen_rtx_US_TRUNCATE (V16QImode,
	operand1),
	gen_rtx_US_TRUNCATE (V16QImode,
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17353 */
rtx
gen_avx2_packuswb_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_VEC_CONCAT (V32QImode,
	gen_rtx_US_TRUNCATE (V16QImode,
	operand1),
	gen_rtx_US_TRUNCATE (V16QImode,
	operand2)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17353 */
rtx
gen_sse2_packuswb (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_US_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_US_TRUNCATE (V8QImode,
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17353 */
rtx
gen_sse2_packuswb_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_US_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_US_TRUNCATE (V8QImode,
	operand2)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17370 */
rtx
gen_avx512bw_interleave_highv64qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V64QImode,
	gen_rtx_VEC_CONCAT (V128QImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (64,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		GEN_INT (72L),
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		GEN_INT (73L),
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		GEN_INT (74L),
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		GEN_INT (75L),
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		GEN_INT (76L),
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		GEN_INT (77L),
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		GEN_INT (78L),
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		GEN_INT (79L),
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		GEN_INT (88L),
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		GEN_INT (89L),
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		GEN_INT (90L),
		const_int_rtx[MAX_SAVED_CONST_INT + (27)],
		GEN_INT (91L),
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		GEN_INT (92L),
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		GEN_INT (93L),
		const_int_rtx[MAX_SAVED_CONST_INT + (30)],
		GEN_INT (94L),
		const_int_rtx[MAX_SAVED_CONST_INT + (31)],
		GEN_INT (95L),
		const_int_rtx[MAX_SAVED_CONST_INT + (40)],
		GEN_INT (104L),
		const_int_rtx[MAX_SAVED_CONST_INT + (41)],
		GEN_INT (105L),
		const_int_rtx[MAX_SAVED_CONST_INT + (42)],
		GEN_INT (106L),
		const_int_rtx[MAX_SAVED_CONST_INT + (43)],
		GEN_INT (107L),
		const_int_rtx[MAX_SAVED_CONST_INT + (44)],
		GEN_INT (108L),
		const_int_rtx[MAX_SAVED_CONST_INT + (45)],
		GEN_INT (109L),
		const_int_rtx[MAX_SAVED_CONST_INT + (46)],
		GEN_INT (110L),
		const_int_rtx[MAX_SAVED_CONST_INT + (47)],
		GEN_INT (111L),
		const_int_rtx[MAX_SAVED_CONST_INT + (56)],
		GEN_INT (120L),
		const_int_rtx[MAX_SAVED_CONST_INT + (57)],
		GEN_INT (121L),
		const_int_rtx[MAX_SAVED_CONST_INT + (58)],
		GEN_INT (122L),
		const_int_rtx[MAX_SAVED_CONST_INT + (59)],
		GEN_INT (123L),
		const_int_rtx[MAX_SAVED_CONST_INT + (60)],
		GEN_INT (124L),
		const_int_rtx[MAX_SAVED_CONST_INT + (61)],
		GEN_INT (125L),
		const_int_rtx[MAX_SAVED_CONST_INT + (62)],
		GEN_INT (126L),
		const_int_rtx[MAX_SAVED_CONST_INT + (63)],
		GEN_INT (127L)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17370 */
rtx
gen_avx512bw_interleave_highv64qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_VEC_SELECT (V64QImode,
	gen_rtx_VEC_CONCAT (V128QImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (64,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		GEN_INT (72L),
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		GEN_INT (73L),
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		GEN_INT (74L),
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		GEN_INT (75L),
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		GEN_INT (76L),
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		GEN_INT (77L),
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		GEN_INT (78L),
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		GEN_INT (79L),
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		GEN_INT (88L),
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		GEN_INT (89L),
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		GEN_INT (90L),
		const_int_rtx[MAX_SAVED_CONST_INT + (27)],
		GEN_INT (91L),
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		GEN_INT (92L),
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		GEN_INT (93L),
		const_int_rtx[MAX_SAVED_CONST_INT + (30)],
		GEN_INT (94L),
		const_int_rtx[MAX_SAVED_CONST_INT + (31)],
		GEN_INT (95L),
		const_int_rtx[MAX_SAVED_CONST_INT + (40)],
		GEN_INT (104L),
		const_int_rtx[MAX_SAVED_CONST_INT + (41)],
		GEN_INT (105L),
		const_int_rtx[MAX_SAVED_CONST_INT + (42)],
		GEN_INT (106L),
		const_int_rtx[MAX_SAVED_CONST_INT + (43)],
		GEN_INT (107L),
		const_int_rtx[MAX_SAVED_CONST_INT + (44)],
		GEN_INT (108L),
		const_int_rtx[MAX_SAVED_CONST_INT + (45)],
		GEN_INT (109L),
		const_int_rtx[MAX_SAVED_CONST_INT + (46)],
		GEN_INT (110L),
		const_int_rtx[MAX_SAVED_CONST_INT + (47)],
		GEN_INT (111L),
		const_int_rtx[MAX_SAVED_CONST_INT + (56)],
		GEN_INT (120L),
		const_int_rtx[MAX_SAVED_CONST_INT + (57)],
		GEN_INT (121L),
		const_int_rtx[MAX_SAVED_CONST_INT + (58)],
		GEN_INT (122L),
		const_int_rtx[MAX_SAVED_CONST_INT + (59)],
		GEN_INT (123L),
		const_int_rtx[MAX_SAVED_CONST_INT + (60)],
		GEN_INT (124L),
		const_int_rtx[MAX_SAVED_CONST_INT + (61)],
		GEN_INT (125L),
		const_int_rtx[MAX_SAVED_CONST_INT + (62)],
		GEN_INT (126L),
		const_int_rtx[MAX_SAVED_CONST_INT + (63)],
		GEN_INT (127L)))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17414 */
rtx
gen_avx2_interleave_highv32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V32QImode,
	gen_rtx_VEC_CONCAT (V64QImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (32,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (40)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (41)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (42)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (43)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (44)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (45)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (46)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (47)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (56)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (57)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (58)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)],
		const_int_rtx[MAX_SAVED_CONST_INT + (59)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (60)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (61)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)],
		const_int_rtx[MAX_SAVED_CONST_INT + (62)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)],
		const_int_rtx[MAX_SAVED_CONST_INT + (63)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17414 */
rtx
gen_avx2_interleave_highv32qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_VEC_SELECT (V32QImode,
	gen_rtx_VEC_CONCAT (V64QImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (32,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (40)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (41)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (42)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (43)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (44)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (45)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (46)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (47)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (56)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (57)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (58)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)],
		const_int_rtx[MAX_SAVED_CONST_INT + (59)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (60)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (61)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)],
		const_int_rtx[MAX_SAVED_CONST_INT + (62)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)],
		const_int_rtx[MAX_SAVED_CONST_INT + (63)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17442 */
rtx
gen_vec_interleave_highv16qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V16QImode,
	gen_rtx_VEC_CONCAT (V32QImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17442 */
rtx
gen_vec_interleave_highv16qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_VEC_SELECT (V16QImode,
	gen_rtx_VEC_CONCAT (V32QImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17466 */
rtx
gen_avx512bw_interleave_lowv64qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V64QImode,
	gen_rtx_VEC_CONCAT (V128QImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (64,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (64)],
		const1_rtx,
		GEN_INT (65L),
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		GEN_INT (66L),
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		GEN_INT (67L),
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		GEN_INT (68L),
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		GEN_INT (69L),
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		GEN_INT (70L),
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		GEN_INT (71L),
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		GEN_INT (80L),
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		GEN_INT (81L),
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		GEN_INT (82L),
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		GEN_INT (83L),
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		GEN_INT (84L),
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		GEN_INT (85L),
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		GEN_INT (86L),
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		GEN_INT (87L),
		const_int_rtx[MAX_SAVED_CONST_INT + (32)],
		GEN_INT (96L),
		const_int_rtx[MAX_SAVED_CONST_INT + (33)],
		GEN_INT (97L),
		const_int_rtx[MAX_SAVED_CONST_INT + (34)],
		GEN_INT (98L),
		const_int_rtx[MAX_SAVED_CONST_INT + (35)],
		GEN_INT (99L),
		const_int_rtx[MAX_SAVED_CONST_INT + (36)],
		GEN_INT (100L),
		const_int_rtx[MAX_SAVED_CONST_INT + (37)],
		GEN_INT (101L),
		const_int_rtx[MAX_SAVED_CONST_INT + (38)],
		GEN_INT (102L),
		const_int_rtx[MAX_SAVED_CONST_INT + (39)],
		GEN_INT (103L),
		const_int_rtx[MAX_SAVED_CONST_INT + (48)],
		GEN_INT (112L),
		const_int_rtx[MAX_SAVED_CONST_INT + (49)],
		GEN_INT (113L),
		const_int_rtx[MAX_SAVED_CONST_INT + (50)],
		GEN_INT (114L),
		const_int_rtx[MAX_SAVED_CONST_INT + (51)],
		GEN_INT (115L),
		const_int_rtx[MAX_SAVED_CONST_INT + (52)],
		GEN_INT (116L),
		const_int_rtx[MAX_SAVED_CONST_INT + (53)],
		GEN_INT (117L),
		const_int_rtx[MAX_SAVED_CONST_INT + (54)],
		GEN_INT (118L),
		const_int_rtx[MAX_SAVED_CONST_INT + (55)],
		GEN_INT (119L)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17466 */
rtx
gen_avx512bw_interleave_lowv64qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_VEC_SELECT (V64QImode,
	gen_rtx_VEC_CONCAT (V128QImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (64,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (64)],
		const1_rtx,
		GEN_INT (65L),
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		GEN_INT (66L),
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		GEN_INT (67L),
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		GEN_INT (68L),
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		GEN_INT (69L),
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		GEN_INT (70L),
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		GEN_INT (71L),
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		GEN_INT (80L),
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		GEN_INT (81L),
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		GEN_INT (82L),
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		GEN_INT (83L),
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		GEN_INT (84L),
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		GEN_INT (85L),
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		GEN_INT (86L),
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		GEN_INT (87L),
		const_int_rtx[MAX_SAVED_CONST_INT + (32)],
		GEN_INT (96L),
		const_int_rtx[MAX_SAVED_CONST_INT + (33)],
		GEN_INT (97L),
		const_int_rtx[MAX_SAVED_CONST_INT + (34)],
		GEN_INT (98L),
		const_int_rtx[MAX_SAVED_CONST_INT + (35)],
		GEN_INT (99L),
		const_int_rtx[MAX_SAVED_CONST_INT + (36)],
		GEN_INT (100L),
		const_int_rtx[MAX_SAVED_CONST_INT + (37)],
		GEN_INT (101L),
		const_int_rtx[MAX_SAVED_CONST_INT + (38)],
		GEN_INT (102L),
		const_int_rtx[MAX_SAVED_CONST_INT + (39)],
		GEN_INT (103L),
		const_int_rtx[MAX_SAVED_CONST_INT + (48)],
		GEN_INT (112L),
		const_int_rtx[MAX_SAVED_CONST_INT + (49)],
		GEN_INT (113L),
		const_int_rtx[MAX_SAVED_CONST_INT + (50)],
		GEN_INT (114L),
		const_int_rtx[MAX_SAVED_CONST_INT + (51)],
		GEN_INT (115L),
		const_int_rtx[MAX_SAVED_CONST_INT + (52)],
		GEN_INT (116L),
		const_int_rtx[MAX_SAVED_CONST_INT + (53)],
		GEN_INT (117L),
		const_int_rtx[MAX_SAVED_CONST_INT + (54)],
		GEN_INT (118L),
		const_int_rtx[MAX_SAVED_CONST_INT + (55)],
		GEN_INT (119L)))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17510 */
rtx
gen_avx2_interleave_lowv32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V32QImode,
	gen_rtx_VEC_CONCAT (V64QImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (32,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (32)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (33)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (34)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (35)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (36)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (37)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (38)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (39)],
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const_int_rtx[MAX_SAVED_CONST_INT + (48)],
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (49)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (50)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (51)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (52)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (53)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (54)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (55)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17510 */
rtx
gen_avx2_interleave_lowv32qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_VEC_SELECT (V32QImode,
	gen_rtx_VEC_CONCAT (V64QImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (32,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (32)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (33)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (34)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (35)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (36)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (37)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (38)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (39)],
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const_int_rtx[MAX_SAVED_CONST_INT + (48)],
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (49)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (50)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (51)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (52)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (53)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (54)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (55)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17538 */
rtx
gen_vec_interleave_lowv16qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V16QImode,
	gen_rtx_VEC_CONCAT (V32QImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17538 */
rtx
gen_vec_interleave_lowv16qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_VEC_SELECT (V16QImode,
	gen_rtx_VEC_CONCAT (V32QImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17562 */
rtx
gen_avx512bw_interleave_highv32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V32HImode,
	gen_rtx_VEC_CONCAT (V64HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (32,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (36)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (37)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (38)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (39)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (44)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (45)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (46)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (47)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (52)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (53)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (54)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (55)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (60)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (61)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)],
		const_int_rtx[MAX_SAVED_CONST_INT + (62)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)],
		const_int_rtx[MAX_SAVED_CONST_INT + (63)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17562 */
rtx
gen_avx512bw_interleave_highv32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_VEC_SELECT (V32HImode,
	gen_rtx_VEC_CONCAT (V64HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (32,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (36)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (37)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (38)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (39)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (44)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (45)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (46)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (47)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (52)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (53)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (54)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (55)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (60)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (61)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)],
		const_int_rtx[MAX_SAVED_CONST_INT + (62)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)],
		const_int_rtx[MAX_SAVED_CONST_INT + (63)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17562 */
rtx
gen_avx512bw_interleave_highv32hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V32HFmode,
	gen_rtx_VEC_CONCAT (V64HFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (32,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (36)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (37)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (38)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (39)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (44)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (45)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (46)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (47)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (52)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (53)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (54)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (55)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (60)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (61)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)],
		const_int_rtx[MAX_SAVED_CONST_INT + (62)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)],
		const_int_rtx[MAX_SAVED_CONST_INT + (63)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17562 */
rtx
gen_avx512bw_interleave_highv32hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_VEC_SELECT (V32HFmode,
	gen_rtx_VEC_CONCAT (V64HFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (32,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (36)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (37)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (38)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (39)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (44)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (45)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (46)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (47)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (52)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (53)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (54)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (55)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (60)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (61)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)],
		const_int_rtx[MAX_SAVED_CONST_INT + (62)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)],
		const_int_rtx[MAX_SAVED_CONST_INT + (63)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17590 */
rtx
gen_avx2_interleave_highv16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V16HImode,
	gen_rtx_VEC_CONCAT (V32HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17590 */
rtx
gen_avx2_interleave_highv16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_VEC_SELECT (V16HImode,
	gen_rtx_VEC_CONCAT (V32HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17590 */
rtx
gen_avx2_interleave_highv16hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V16HFmode,
	gen_rtx_VEC_CONCAT (V32HFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17590 */
rtx
gen_avx2_interleave_highv16hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_VEC_SELECT (V16HFmode,
	gen_rtx_VEC_CONCAT (V32HFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17610 */
rtx
gen_vec_interleave_highv8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8HImode,
	gen_rtx_VEC_CONCAT (V16HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17610 */
rtx
gen_vec_interleave_highv8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_VEC_SELECT (V8HImode,
	gen_rtx_VEC_CONCAT (V16HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17610 */
rtx
gen_vec_interleave_highv8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8HFmode,
	gen_rtx_VEC_CONCAT (V16HFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17610 */
rtx
gen_vec_interleave_highv8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_SELECT (V8HFmode,
	gen_rtx_VEC_CONCAT (V16HFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17630 */
rtx
gen_avx512bw_interleave_lowv32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_VEC_SELECT (V32HImode,
	gen_rtx_VEC_CONCAT (V64HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (32,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (32)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (33)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (34)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (35)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (40)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (41)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (42)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (43)],
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const_int_rtx[MAX_SAVED_CONST_INT + (48)],
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (49)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (50)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (51)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (56)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (57)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (58)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)],
		const_int_rtx[MAX_SAVED_CONST_INT + (59)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17630 */
rtx
gen_avx512bw_interleave_lowv32hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_VEC_SELECT (V32HFmode,
	gen_rtx_VEC_CONCAT (V64HFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (32,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (32)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (33)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (34)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (35)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (40)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (41)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (42)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (43)],
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const_int_rtx[MAX_SAVED_CONST_INT + (48)],
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (49)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (50)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (51)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (56)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (57)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (58)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)],
		const_int_rtx[MAX_SAVED_CONST_INT + (59)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17658 */
rtx
gen_avx2_interleave_lowv16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V16HImode,
	gen_rtx_VEC_CONCAT (V32HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17658 */
rtx
gen_avx2_interleave_lowv16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_VEC_SELECT (V16HImode,
	gen_rtx_VEC_CONCAT (V32HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17658 */
rtx
gen_avx2_interleave_lowv16hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V16HFmode,
	gen_rtx_VEC_CONCAT (V32HFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17658 */
rtx
gen_avx2_interleave_lowv16hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_VEC_SELECT (V16HFmode,
	gen_rtx_VEC_CONCAT (V32HFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17678 */
rtx
gen_vec_interleave_lowv8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8HImode,
	gen_rtx_VEC_CONCAT (V16HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17678 */
rtx
gen_vec_interleave_lowv8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_VEC_SELECT (V8HImode,
	gen_rtx_VEC_CONCAT (V16HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17678 */
rtx
gen_vec_interleave_lowv8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8HFmode,
	gen_rtx_VEC_CONCAT (V16HFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17678 */
rtx
gen_vec_interleave_lowv8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_SELECT (V8HFmode,
	gen_rtx_VEC_CONCAT (V16HFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17698 */
rtx
gen_avx2_interleave_highv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8SImode,
	gen_rtx_VEC_CONCAT (V16SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17698 */
rtx
gen_avx2_interleave_highv8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_VEC_SELECT (V8SImode,
	gen_rtx_VEC_CONCAT (V16SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17714 */
rtx
gen_avx512f_interleave_highv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_VEC_SELECT (V16SImode,
	gen_rtx_VEC_CONCAT (V32SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17735 */
rtx
gen_vec_interleave_highv4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4SImode,
	gen_rtx_VEC_CONCAT (V8SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17735 */
rtx
gen_vec_interleave_highv4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_VEC_SELECT (V4SImode,
	gen_rtx_VEC_CONCAT (V8SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17753 */
rtx
gen_avx2_interleave_lowv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8SImode,
	gen_rtx_VEC_CONCAT (V16SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17753 */
rtx
gen_avx2_interleave_lowv8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_VEC_SELECT (V8SImode,
	gen_rtx_VEC_CONCAT (V16SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17769 */
rtx
gen_avx512f_interleave_lowv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_VEC_SELECT (V16SImode,
	gen_rtx_VEC_CONCAT (V32SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17789 */
rtx
gen_vec_interleave_lowv4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4SImode,
	gen_rtx_VEC_CONCAT (V8SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17789 */
rtx
gen_vec_interleave_lowv4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_VEC_SELECT (V4SImode,
	gen_rtx_VEC_CONCAT (V8SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17858 */
rtx
gen_sse4_1_pinsrb (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_VEC_DUPLICATE (V16QImode,
	operand2),
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17858 */
rtx
gen_sse2_pinsrw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_VEC_DUPLICATE (V8HImode,
	operand2),
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17858 */
rtx
gen_sse2_pinsrph (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	operand2),
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17858 */
rtx
gen_sse4_1_pinsrd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_VEC_DUPLICATE (V4SImode,
	operand2),
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17858 */
rtx
gen_sse4_1_pinsrq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_VEC_DUPLICATE (V2DImode,
	operand2),
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18012 */
rtx
gen_avx512dq_vinsertf64x2_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_VEC_MERGE (V8DFmode,
	operand1,
	gen_rtx_VEC_DUPLICATE (V8DFmode,
	operand2),
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18012 */
rtx
gen_avx512dq_vinserti64x2_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_VEC_MERGE (V8DImode,
	operand1,
	gen_rtx_VEC_DUPLICATE (V8DImode,
	operand2),
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18012 */
rtx
gen_avx512f_vinsertf32x4_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_VEC_MERGE (V16SFmode,
	operand1,
	gen_rtx_VEC_DUPLICATE (V16SFmode,
	operand2),
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18012 */
rtx
gen_avx512f_vinserti32x4_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_VEC_MERGE (V16SImode,
	operand1,
	gen_rtx_VEC_DUPLICATE (V16SImode,
	operand2),
	operand3),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18065 */
rtx
gen_vec_set_lo_v16sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16SFmode,
	operand2,
	gen_rtx_VEC_SELECT (V8SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18065 */
rtx
gen_vec_set_lo_v16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_VEC_CONCAT (V16SFmode,
	operand2,
	gen_rtx_VEC_SELECT (V8SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18065 */
rtx
gen_vec_set_lo_v16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16SImode,
	operand2,
	gen_rtx_VEC_SELECT (V8SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18065 */
rtx
gen_vec_set_lo_v16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_VEC_CONCAT (V16SImode,
	operand2,
	gen_rtx_VEC_SELECT (V8SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18082 */
rtx
gen_vec_set_hi_v16sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16SFmode,
	gen_rtx_VEC_SELECT (V8SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18082 */
rtx
gen_vec_set_hi_v16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_VEC_CONCAT (V16SFmode,
	gen_rtx_VEC_SELECT (V8SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18082 */
rtx
gen_vec_set_hi_v16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16SImode,
	gen_rtx_VEC_SELECT (V8SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18082 */
rtx
gen_vec_set_hi_v16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_VEC_CONCAT (V16SImode,
	gen_rtx_VEC_SELECT (V8SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18099 */
rtx
gen_vec_set_lo_v8df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8DFmode,
	operand2,
	gen_rtx_VEC_SELECT (V4DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18099 */
rtx
gen_vec_set_lo_v8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_VEC_CONCAT (V8DFmode,
	operand2,
	gen_rtx_VEC_SELECT (V4DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18099 */
rtx
gen_vec_set_lo_v8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8DImode,
	operand2,
	gen_rtx_VEC_SELECT (V4DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18099 */
rtx
gen_vec_set_lo_v8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_VEC_CONCAT (V8DImode,
	operand2,
	gen_rtx_VEC_SELECT (V4DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18114 */
rtx
gen_vec_set_hi_v8df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8DFmode,
	gen_rtx_VEC_SELECT (V4DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18114 */
rtx
gen_vec_set_hi_v8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_VEC_CONCAT (V8DFmode,
	gen_rtx_VEC_SELECT (V4DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18114 */
rtx
gen_vec_set_hi_v8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8DImode,
	gen_rtx_VEC_SELECT (V4DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18114 */
rtx
gen_vec_set_hi_v8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_VEC_CONCAT (V8DImode,
	gen_rtx_VEC_SELECT (V4DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18149 */
rtx
gen_avx512dq_shuf_i64x2_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_VEC_SELECT (V4DImode,
	gen_rtx_VEC_CONCAT (V8DImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		operand3,
		operand4,
		operand5,
		operand6))),
	operand7,
	operand8));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18149 */
rtx
gen_avx512dq_shuf_f64x2_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_VEC_SELECT (V4DFmode,
	gen_rtx_VEC_CONCAT (V8DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		operand3,
		operand4,
		operand5,
		operand6))),
	operand7,
	operand8));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18200 */
rtx
gen_avx512f_shuf_f64x2_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8DFmode,
	gen_rtx_VEC_CONCAT (V16DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9,
		operand10))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18200 */
rtx
gen_avx512f_shuf_f64x2_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED,
	rtx operand11 ATTRIBUTE_UNUSED,
	rtx operand12 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_VEC_SELECT (V8DFmode,
	gen_rtx_VEC_CONCAT (V16DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9,
		operand10))),
	operand11,
	operand12));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18200 */
rtx
gen_avx512f_shuf_i64x2_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8DImode,
	gen_rtx_VEC_CONCAT (V16DImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9,
		operand10))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18200 */
rtx
gen_avx512f_shuf_i64x2_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED,
	rtx operand11 ATTRIBUTE_UNUSED,
	rtx operand12 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_VEC_SELECT (V8DImode,
	gen_rtx_VEC_CONCAT (V16DImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9,
		operand10))),
	operand11,
	operand12));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18298 */
rtx
gen_avx512vl_shuf_i32x4_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8SImode,
	gen_rtx_VEC_CONCAT (V16SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9,
		operand10))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18298 */
rtx
gen_avx512vl_shuf_i32x4_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED,
	rtx operand11 ATTRIBUTE_UNUSED,
	rtx operand12 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_VEC_SELECT (V8SImode,
	gen_rtx_VEC_CONCAT (V16SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9,
		operand10))),
	operand11,
	operand12));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18298 */
rtx
gen_avx512vl_shuf_f32x4_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8SFmode,
	gen_rtx_VEC_CONCAT (V16SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9,
		operand10))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18298 */
rtx
gen_avx512vl_shuf_f32x4_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED,
	rtx operand11 ATTRIBUTE_UNUSED,
	rtx operand12 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_VEC_SELECT (V8SFmode,
	gen_rtx_VEC_CONCAT (V16SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9,
		operand10))),
	operand11,
	operand12));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18366 */
rtx
gen_avx512f_shuf_f32x4_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED,
	rtx operand11 ATTRIBUTE_UNUSED,
	rtx operand12 ATTRIBUTE_UNUSED,
	rtx operand13 ATTRIBUTE_UNUSED,
	rtx operand14 ATTRIBUTE_UNUSED,
	rtx operand15 ATTRIBUTE_UNUSED,
	rtx operand16 ATTRIBUTE_UNUSED,
	rtx operand17 ATTRIBUTE_UNUSED,
	rtx operand18 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V16SFmode,
	gen_rtx_VEC_CONCAT (V32SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9,
		operand10,
		operand11,
		operand12,
		operand13,
		operand14,
		operand15,
		operand16,
		operand17,
		operand18))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18366 */
rtx
gen_avx512f_shuf_f32x4_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED,
	rtx operand11 ATTRIBUTE_UNUSED,
	rtx operand12 ATTRIBUTE_UNUSED,
	rtx operand13 ATTRIBUTE_UNUSED,
	rtx operand14 ATTRIBUTE_UNUSED,
	rtx operand15 ATTRIBUTE_UNUSED,
	rtx operand16 ATTRIBUTE_UNUSED,
	rtx operand17 ATTRIBUTE_UNUSED,
	rtx operand18 ATTRIBUTE_UNUSED,
	rtx operand19 ATTRIBUTE_UNUSED,
	rtx operand20 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_VEC_SELECT (V16SFmode,
	gen_rtx_VEC_CONCAT (V32SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9,
		operand10,
		operand11,
		operand12,
		operand13,
		operand14,
		operand15,
		operand16,
		operand17,
		operand18))),
	operand19,
	operand20));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18366 */
rtx
gen_avx512f_shuf_i32x4_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED,
	rtx operand11 ATTRIBUTE_UNUSED,
	rtx operand12 ATTRIBUTE_UNUSED,
	rtx operand13 ATTRIBUTE_UNUSED,
	rtx operand14 ATTRIBUTE_UNUSED,
	rtx operand15 ATTRIBUTE_UNUSED,
	rtx operand16 ATTRIBUTE_UNUSED,
	rtx operand17 ATTRIBUTE_UNUSED,
	rtx operand18 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V16SImode,
	gen_rtx_VEC_CONCAT (V32SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9,
		operand10,
		operand11,
		operand12,
		operand13,
		operand14,
		operand15,
		operand16,
		operand17,
		operand18))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18366 */
rtx
gen_avx512f_shuf_i32x4_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED,
	rtx operand11 ATTRIBUTE_UNUSED,
	rtx operand12 ATTRIBUTE_UNUSED,
	rtx operand13 ATTRIBUTE_UNUSED,
	rtx operand14 ATTRIBUTE_UNUSED,
	rtx operand15 ATTRIBUTE_UNUSED,
	rtx operand16 ATTRIBUTE_UNUSED,
	rtx operand17 ATTRIBUTE_UNUSED,
	rtx operand18 ATTRIBUTE_UNUSED,
	rtx operand19 ATTRIBUTE_UNUSED,
	rtx operand20 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_VEC_SELECT (V16SImode,
	gen_rtx_VEC_CONCAT (V32SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9,
		operand10,
		operand11,
		operand12,
		operand13,
		operand14,
		operand15,
		operand16,
		operand17,
		operand18))),
	operand19,
	operand20));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18502 */
rtx
gen_avx512f_pshufd_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED,
	rtx operand11 ATTRIBUTE_UNUSED,
	rtx operand12 ATTRIBUTE_UNUSED,
	rtx operand13 ATTRIBUTE_UNUSED,
	rtx operand14 ATTRIBUTE_UNUSED,
	rtx operand15 ATTRIBUTE_UNUSED,
	rtx operand16 ATTRIBUTE_UNUSED,
	rtx operand17 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V16SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		operand2,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9,
		operand10,
		operand11,
		operand12,
		operand13,
		operand14,
		operand15,
		operand16,
		operand17))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18502 */
rtx
gen_avx512f_pshufd_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED,
	rtx operand11 ATTRIBUTE_UNUSED,
	rtx operand12 ATTRIBUTE_UNUSED,
	rtx operand13 ATTRIBUTE_UNUSED,
	rtx operand14 ATTRIBUTE_UNUSED,
	rtx operand15 ATTRIBUTE_UNUSED,
	rtx operand16 ATTRIBUTE_UNUSED,
	rtx operand17 ATTRIBUTE_UNUSED,
	rtx operand18 ATTRIBUTE_UNUSED,
	rtx operand19 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_VEC_SELECT (V16SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		operand2,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9,
		operand10,
		operand11,
		operand12,
		operand13,
		operand14,
		operand15,
		operand16,
		operand17))),
	operand18,
	operand19));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18591 */
rtx
gen_avx2_pshufd_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		operand2,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18591 */
rtx
gen_avx2_pshufd_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED,
	rtx operand11 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_VEC_SELECT (V8SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		operand2,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9))),
	operand10,
	operand11));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18657 */
rtx
gen_sse2_pshufd_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		operand2,
		operand3,
		operand4,
		operand5))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18657 */
rtx
gen_sse2_pshufd_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_VEC_SELECT (V4SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		operand2,
		operand3,
		operand4,
		operand5))),
	operand6,
	operand7));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18682 */
rtx
gen_avx512bw_pshuflwv32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	179),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18735 */
rtx
gen_avx2_pshuflw_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V16HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		operand2,
		operand3,
		operand4,
		operand5,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		operand6,
		operand7,
		operand8,
		operand9,
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18735 */
rtx
gen_avx2_pshuflw_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED,
	rtx operand11 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_VEC_SELECT (V16HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		operand2,
		operand3,
		operand4,
		operand5,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		operand6,
		operand7,
		operand8,
		operand9,
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))),
	operand10,
	operand11));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18809 */
rtx
gen_sse2_pshuflw_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		operand2,
		operand3,
		operand4,
		operand5,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18809 */
rtx
gen_sse2_pshuflw_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_VEC_SELECT (V8HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		operand2,
		operand3,
		operand4,
		operand5,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand6,
	operand7));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18858 */
rtx
gen_avx512bw_pshufhwv32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	178),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18892 */
rtx
gen_avx2_pshufhw_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V16HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		operand2,
		operand3,
		operand4,
		operand5,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		operand6,
		operand7,
		operand8,
		operand9))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18892 */
rtx
gen_avx2_pshufhw_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED,
	rtx operand11 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_VEC_SELECT (V16HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		operand2,
		operand3,
		operand4,
		operand5,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		operand6,
		operand7,
		operand8,
		operand9))),
	operand10,
	operand11));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18966 */
rtx
gen_sse2_pshufhw_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		operand2,
		operand3,
		operand4,
		operand5))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18966 */
rtx
gen_sse2_pshufhw_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_VEC_SELECT (V8HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		operand2,
		operand3,
		operand4,
		operand5))),
	operand6,
	operand7));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19006 */
rtx
gen_sse2_loadld (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_VEC_DUPLICATE (V4SImode,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19530 */
rtx
gen_vec_concatv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V2DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19613 */
rtx
gen_vec_setv8di_0 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_VEC_DUPLICATE (V8DImode,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19613 */
rtx
gen_vec_setv4di_0 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_VEC_DUPLICATE (V4DImode,
	operand2),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19774 */
rtx
gen_avx512f_psadbw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	50));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19774 */
rtx
gen_avx2_psadbw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	50));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19774 */
rtx
gen_sse2_psadbw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	50));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19791 */
rtx
gen_avx_movmskps256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19791 */
rtx
gen_sse_movmskps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19791 */
rtx
gen_avx_movmskpd256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19791 */
rtx
gen_sse2_movmskpd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19886 */
rtx
gen_avx2_pmovmskb (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19886 */
rtx
gen_sse2_pmovmskb (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20109 */
rtx
gen_sse_ldmxcsr (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	88);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20119 */
rtx
gen_sse_stmxcsr (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (1,
		const0_rtx),
	89));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20129 */
rtx
gen_sse2_clflush (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		operand0),
	90);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20141 */
rtx
gen_sse3_mwait (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (2,
		operand0,
		operand1),
	92);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20152 */
rtx
gen_sse3_monitor_si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (3,
		operand0,
		operand1,
		operand2),
	91);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20152 */
rtx
gen_sse3_monitor_di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (3,
		operand0,
		operand1,
		operand2),
	91);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20173 */
rtx
gen_avx2_phaddwv16hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V16HImode,
	gen_rtx_VEC_SELECT (V16HImode,
	gen_rtx_VEC_CONCAT (V32HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)]))),
	gen_rtx_VEC_SELECT (V16HImode,
	gen_rtx_VEC_CONCAT (V32HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20173 */
rtx
gen_avx2_phaddswv16hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SS_PLUS (V16HImode,
	gen_rtx_VEC_SELECT (V16HImode,
	gen_rtx_VEC_CONCAT (V32HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)]))),
	gen_rtx_VEC_SELECT (V16HImode,
	gen_rtx_VEC_CONCAT (V32HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20173 */
rtx
gen_avx2_phsubwv16hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (V16HImode,
	gen_rtx_VEC_SELECT (V16HImode,
	gen_rtx_VEC_CONCAT (V32HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)]))),
	gen_rtx_VEC_SELECT (V16HImode,
	gen_rtx_VEC_CONCAT (V32HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20173 */
rtx
gen_avx2_phsubswv16hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SS_MINUS (V16HImode,
	gen_rtx_VEC_SELECT (V16HImode,
	gen_rtx_VEC_CONCAT (V32HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)]))),
	gen_rtx_VEC_SELECT (V16HImode,
	gen_rtx_VEC_CONCAT (V32HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20199 */
rtx
gen_ssse3_phaddwv8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V8HImode,
	gen_rtx_VEC_SELECT (V8HImode,
	gen_rtx_VEC_CONCAT (V16HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)]))),
	gen_rtx_VEC_SELECT (V8HImode,
	gen_rtx_VEC_CONCAT (V16HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20199 */
rtx
gen_ssse3_phaddswv8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SS_PLUS (V8HImode,
	gen_rtx_VEC_SELECT (V8HImode,
	gen_rtx_VEC_CONCAT (V16HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)]))),
	gen_rtx_VEC_SELECT (V8HImode,
	gen_rtx_VEC_CONCAT (V16HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20199 */
rtx
gen_ssse3_phsubwv8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (V8HImode,
	gen_rtx_VEC_SELECT (V8HImode,
	gen_rtx_VEC_CONCAT (V16HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)]))),
	gen_rtx_VEC_SELECT (V8HImode,
	gen_rtx_VEC_CONCAT (V16HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20199 */
rtx
gen_ssse3_phsubswv8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SS_MINUS (V8HImode,
	gen_rtx_VEC_SELECT (V8HImode,
	gen_rtx_VEC_CONCAT (V16HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)]))),
	gen_rtx_VEC_SELECT (V8HImode,
	gen_rtx_VEC_CONCAT (V16HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20226 */
rtx
gen_ssse3_phaddwv4hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V4HImode,
	gen_rtx_VEC_SELECT (V4HImode,
	gen_rtx_VEC_CONCAT (V8HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))),
	gen_rtx_VEC_SELECT (V4HImode,
	gen_rtx_VEC_CONCAT (V8HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20226 */
rtx
gen_ssse3_phaddswv4hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SS_PLUS (V4HImode,
	gen_rtx_VEC_SELECT (V4HImode,
	gen_rtx_VEC_CONCAT (V8HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))),
	gen_rtx_VEC_SELECT (V4HImode,
	gen_rtx_VEC_CONCAT (V8HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20226 */
rtx
gen_ssse3_phsubwv4hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (V4HImode,
	gen_rtx_VEC_SELECT (V4HImode,
	gen_rtx_VEC_CONCAT (V8HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))),
	gen_rtx_VEC_SELECT (V4HImode,
	gen_rtx_VEC_CONCAT (V8HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20226 */
rtx
gen_ssse3_phsubswv4hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SS_MINUS (V4HImode,
	gen_rtx_VEC_SELECT (V4HImode,
	gen_rtx_VEC_CONCAT (V8HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))),
	gen_rtx_VEC_SELECT (V4HImode,
	gen_rtx_VEC_CONCAT (V8HImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20266 */
rtx
gen_avx2_phadddv8si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V8SImode,
	gen_rtx_VEC_SELECT (V8SImode,
	gen_rtx_VEC_CONCAT (V16SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)]))),
	gen_rtx_VEC_SELECT (V8SImode,
	gen_rtx_VEC_CONCAT (V16SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20266 */
rtx
gen_avx2_phsubdv8si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (V8SImode,
	gen_rtx_VEC_SELECT (V8SImode,
	gen_rtx_VEC_CONCAT (V16SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)]))),
	gen_rtx_VEC_SELECT (V8SImode,
	gen_rtx_VEC_CONCAT (V16SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20288 */
rtx
gen_ssse3_phadddv4si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V4SImode,
	gen_rtx_VEC_SELECT (V4SImode,
	gen_rtx_VEC_CONCAT (V8SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))),
	gen_rtx_VEC_SELECT (V4SImode,
	gen_rtx_VEC_CONCAT (V8SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20288 */
rtx
gen_ssse3_phsubdv4si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (V4SImode,
	gen_rtx_VEC_SELECT (V4SImode,
	gen_rtx_VEC_CONCAT (V8SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))),
	gen_rtx_VEC_SELECT (V4SImode,
	gen_rtx_VEC_CONCAT (V8SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20313 */
rtx
gen_ssse3_phadddv2si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V2SImode,
	gen_rtx_VEC_SELECT (V2SImode,
	gen_rtx_VEC_CONCAT (V4SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))),
	gen_rtx_VEC_SELECT (V2SImode,
	gen_rtx_VEC_CONCAT (V4SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20313 */
rtx
gen_ssse3_phsubdv2si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (V2SImode,
	gen_rtx_VEC_SELECT (V2SImode,
	gen_rtx_VEC_CONCAT (V4SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))),
	gen_rtx_VEC_SELECT (V2SImode,
	gen_rtx_VEC_CONCAT (V4SImode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20351 */
rtx
gen_avx2_pmaddubsw256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SS_PLUS (V16HImode,
	gen_rtx_MULT (V16HImode,
	gen_rtx_ZERO_EXTEND (V16HImode,
	gen_rtx_VEC_SELECT (V16QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)])))),
	gen_rtx_SIGN_EXTEND (V16HImode,
	gen_rtx_VEC_SELECT (V16QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)]))))),
	gen_rtx_MULT (V16HImode,
	gen_rtx_ZERO_EXTEND (V16HImode,
	gen_rtx_VEC_SELECT (V16QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)])))),
	gen_rtx_SIGN_EXTEND (V16HImode,
	gen_rtx_VEC_SELECT (V16QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)],
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)])))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20407 */
rtx
gen_avx512bw_pmaddubsw512v8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	176));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20407 */
rtx
gen_avx512bw_pmaddubsw512v8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	176),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20407 */
rtx
gen_avx512bw_pmaddubsw512v16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	176));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20407 */
rtx
gen_avx512bw_pmaddubsw512v16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	176),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20407 */
rtx
gen_avx512bw_pmaddubsw512v32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	176));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20407 */
rtx
gen_avx512bw_pmaddubsw512v32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	176),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20419 */
rtx
gen_avx512bw_umulhrswv32hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V32HImode,
	gen_rtx_LSHIFTRT (V32SImode,
	gen_rtx_PLUS (V32SImode,
	gen_rtx_LSHIFTRT (V32SImode,
	gen_rtx_MULT (V32SImode,
	gen_rtx_SIGN_EXTEND (V32SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V32SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (14)]),
	gen_rtx_CONST_VECTOR (V32HImode,
	gen_rtvec (32,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx))),
	const1_rtx)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20419 */
rtx
gen_avx512bw_umulhrswv32hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_TRUNCATE (V32HImode,
	gen_rtx_LSHIFTRT (V32SImode,
	gen_rtx_PLUS (V32SImode,
	gen_rtx_LSHIFTRT (V32SImode,
	gen_rtx_MULT (V32SImode,
	gen_rtx_SIGN_EXTEND (V32SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V32SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (14)]),
	gen_rtx_CONST_VECTOR (V32HImode,
	gen_rtvec (32,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx,
		const1_rtx))),
	const1_rtx)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20454 */
rtx
gen_ssse3_pmaddubsw128 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SS_PLUS (V8HImode,
	gen_rtx_MULT (V8HImode,
	gen_rtx_ZERO_EXTEND (V8HImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)])))),
	gen_rtx_SIGN_EXTEND (V8HImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)]))))),
	gen_rtx_MULT (V8HImode,
	gen_rtx_ZERO_EXTEND (V8HImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))),
	gen_rtx_SIGN_EXTEND (V8HImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20497 */
rtx
gen_ssse3_pmaddubsw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SS_PLUS (V4HImode,
	gen_rtx_MULT (V4HImode,
	gen_rtx_ZERO_EXTEND (V4HImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)])))),
	gen_rtx_SIGN_EXTEND (V4HImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))))),
	gen_rtx_MULT (V4HImode,
	gen_rtx_ZERO_EXTEND (V4HImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))),
	gen_rtx_SIGN_EXTEND (V4HImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20732 */
rtx
gen_avx512bw_pshufbv64qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	46));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20732 */
rtx
gen_avx512bw_pshufbv64qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	46),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20732 */
rtx
gen_avx2_pshufbv32qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	46));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20732 */
rtx
gen_avx2_pshufbv32qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	46),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20732 */
rtx
gen_ssse3_pshufbv16qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	46));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20732 */
rtx
gen_ssse3_pshufbv16qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	46),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20799 */
rtx
gen_avx2_psignv32qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	105));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20799 */
rtx
gen_ssse3_psignv16qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	105));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20799 */
rtx
gen_avx2_psignv16hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	105));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20799 */
rtx
gen_ssse3_psignv8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	105));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20799 */
rtx
gen_avx2_psignv8si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	105));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20799 */
rtx
gen_ssse3_psignv4si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	105));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20816 */
rtx
gen_ssse3_psignv8qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	105));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20816 */
rtx
gen_ssse3_psignv4hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	105));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20816 */
rtx
gen_ssse3_psignv2si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	105));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20834 */
rtx
gen_avx512bw_palignrv64qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	106),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20834 */
rtx
gen_avx2_palignrv32qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	106),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20834 */
rtx
gen_ssse3_palignrv16qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	106),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20856 */
rtx
gen_avx512bw_palignrv4ti (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4TImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	106));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20856 */
rtx
gen_avx2_palignrv2ti (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2TImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	106));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20856 */
rtx
gen_ssse3_palignrti (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (TImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	106));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20886 */
rtx
gen_ssse3_palignrdi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	106));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20960 */
rtx
gen_absv16si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_ABS (V16SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20960 */
rtx
gen_absv8si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_ABS (V8SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20960 */
rtx
gen_absv4si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_ABS (V4SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20960 */
rtx
gen_absv8di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_ABS (V8DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20960 */
rtx
gen_absv4di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_ABS (V4DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20960 */
rtx
gen_absv2di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_ABS (V2DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20973 */
rtx
gen_absv64qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_ABS (V64QImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20973 */
rtx
gen_absv16qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_ABS (V16QImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20973 */
rtx
gen_absv32qi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_ABS (V32QImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20973 */
rtx
gen_absv32hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_ABS (V32HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20973 */
rtx
gen_absv16hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_ABS (V16HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20973 */
rtx
gen_absv8hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_ABS (V8HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21007 */
rtx
gen_sse4a_movntsf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SFmode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21007 */
rtx
gen_sse4a_movntdf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DFmode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21017 */
rtx
gen_sse4a_vmmovntv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SFmode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21017 */
rtx
gen_sse4a_vmmovntv2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DFmode,
	gen_rtvec (1,
		gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21029 */
rtx
gen_sse4a_extrqi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	107));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21042 */
rtx
gen_sse4a_extrq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	108));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21053 */
rtx
gen_sse4a_insertqi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	109));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21068 */
rtx
gen_sse4a_insertq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	110));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21090 */
rtx
gen_avx_blendps256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21090 */
rtx
gen_sse4_1_blendps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21090 */
rtx
gen_avx_blendpd256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21090 */
rtx
gen_sse4_1_blendpd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21109 */
rtx
gen_avx_blendvps256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21109 */
rtx
gen_sse4_1_blendvps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21109 */
rtx
gen_avx_blendvpd256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21109 */
rtx
gen_sse4_1_blendvpd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21135 */
rtx
gen_sse4_1_blendvss (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21135 */
rtx
gen_sse4_1_blendvsd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21259 */
rtx
gen_avx_dpps256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	112));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21259 */
rtx
gen_sse4_1_dpps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	112));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21259 */
rtx
gen_avx_dppd256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	112));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21259 */
rtx
gen_sse4_1_dppd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	112));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21285 */
rtx
gen_avx512f_movntdqa (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	113));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21285 */
rtx
gen_avx2_movntdqa (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (1,
		operand1),
	113));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21285 */
rtx
gen_sse4_1_movntdqa (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (1,
		operand1),
	113));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21297 */
rtx
gen_avx2_mpsadbw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	114));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21297 */
rtx
gen_sse4_1_mpsadbw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	114));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21318 */
rtx
gen_avx512bw_packusdw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V32HImode,
	gen_rtx_US_TRUNCATE (V16HImode,
	operand1),
	gen_rtx_US_TRUNCATE (V16HImode,
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21318 */
rtx
gen_avx512bw_packusdw_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_VEC_CONCAT (V32HImode,
	gen_rtx_US_TRUNCATE (V16HImode,
	operand1),
	gen_rtx_US_TRUNCATE (V16HImode,
	operand2)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21318 */
rtx
gen_avx2_packusdw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16HImode,
	gen_rtx_US_TRUNCATE (V8HImode,
	operand1),
	gen_rtx_US_TRUNCATE (V8HImode,
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21318 */
rtx
gen_avx2_packusdw_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_VEC_CONCAT (V16HImode,
	gen_rtx_US_TRUNCATE (V8HImode,
	operand1),
	gen_rtx_US_TRUNCATE (V8HImode,
	operand2)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21318 */
rtx
gen_sse4_1_packusdw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_US_TRUNCATE (V4HImode,
	operand1),
	gen_rtx_US_TRUNCATE (V4HImode,
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21318 */
rtx
gen_sse4_1_packusdw_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_US_TRUNCATE (V4HImode,
	operand1),
	gen_rtx_US_TRUNCATE (V4HImode,
	operand2)),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21336 */
rtx
gen_avx2_pblendvb (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21336 */
rtx
gen_sse4_1_pblendvb (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21430 */
rtx
gen_sse4_1_pblendw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21430 */
rtx
gen_sse4_1_pblendph (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21519 */
rtx
gen_avx2_pblenddv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21519 */
rtx
gen_avx2_pblenddv4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	operand2,
	operand1,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21533 */
rtx
gen_sse4_1_phminposuw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (1,
		operand1),
	115));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21545 */
rtx
gen_avx2_sign_extendv16qiv16hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V16HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21545 */
rtx
gen_avx2_sign_extendv16qiv16hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_SIGN_EXTEND (V16HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21545 */
rtx
gen_avx2_zero_extendv16qiv16hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V16HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21545 */
rtx
gen_avx2_zero_extendv16qiv16hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_ZERO_EXTEND (V16HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21599 */
rtx
gen_avx512bw_sign_extendv32qiv32hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V32HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21599 */
rtx
gen_avx512bw_sign_extendv32qiv32hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_SIGN_EXTEND (V32HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21599 */
rtx
gen_avx512bw_zero_extendv32qiv32hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V32HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21599 */
rtx
gen_avx512bw_zero_extendv32qiv32hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_ZERO_EXTEND (V32HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21653 */
rtx
gen_sse4_1_sign_extendv8qiv8hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V8HImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21653 */
rtx
gen_sse4_1_sign_extendv8qiv8hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_SIGN_EXTEND (V8HImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21653 */
rtx
gen_sse4_1_zero_extendv8qiv8hi2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8HImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21653 */
rtx
gen_sse4_1_zero_extendv8qiv8hi2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_ZERO_EXTEND (V8HImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21783 */
rtx
gen_avx512f_sign_extendv16qiv16si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_SIGN_EXTEND (V16SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21783 */
rtx
gen_avx512f_zero_extendv16qiv16si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_ZERO_EXTEND (V16SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21799 */
rtx
gen_avx2_sign_extendv8qiv8si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V8SImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21799 */
rtx
gen_avx2_sign_extendv8qiv8si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_SIGN_EXTEND (V8SImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21799 */
rtx
gen_avx2_zero_extendv8qiv8si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8SImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21799 */
rtx
gen_avx2_zero_extendv8qiv8si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_ZERO_EXTEND (V8SImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21861 */
rtx
gen_sse4_1_sign_extendv4qiv4si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21861 */
rtx
gen_sse4_1_sign_extendv4qiv4si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21861 */
rtx
gen_sse4_1_zero_extendv4qiv4si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21861 */
rtx
gen_sse4_1_zero_extendv4qiv4si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_ZERO_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21925 */
rtx
gen_avx512f_sign_extendv16hiv16si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V16SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21925 */
rtx
gen_avx512f_sign_extendv16hiv16si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_SIGN_EXTEND (V16SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21925 */
rtx
gen_avx512f_zero_extendv16hiv16si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V16SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21925 */
rtx
gen_avx512f_zero_extendv16hiv16si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_ZERO_EXTEND (V16SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21941 */
rtx
gen_avx512f_zero_extendv16hiv16si2_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V32HImode,
	gen_rtx_VEC_CONCAT (V64HImode,
	operand1,
	operand2),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21978 */
rtx
gen_avx2_sign_extendv8hiv8si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V8SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21978 */
rtx
gen_avx2_sign_extendv8hiv8si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_SIGN_EXTEND (V8SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21978 */
rtx
gen_avx2_zero_extendv8hiv8si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21978 */
rtx
gen_avx2_zero_extendv8hiv8si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_ZERO_EXTEND (V8SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21995 */
rtx
gen_avx2_zero_extendv8hiv8si2_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V16HImode,
	gen_rtx_VEC_CONCAT (V32HImode,
	operand1,
	operand2),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22033 */
rtx
gen_sse4_1_sign_extendv4hiv4si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22033 */
rtx
gen_sse4_1_sign_extendv4hiv4si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22033 */
rtx
gen_sse4_1_zero_extendv4hiv4si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22033 */
rtx
gen_sse4_1_zero_extendv4hiv4si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_ZERO_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22155 */
rtx
gen_avx512f_sign_extendv8qiv8di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V8DImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22155 */
rtx
gen_avx512f_sign_extendv8qiv8di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_SIGN_EXTEND (V8DImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22155 */
rtx
gen_avx512f_zero_extendv8qiv8di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8DImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22155 */
rtx
gen_avx512f_zero_extendv8qiv8di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_ZERO_EXTEND (V8DImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22214 */
rtx
gen_avx2_sign_extendv4qiv4di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V4DImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22214 */
rtx
gen_avx2_sign_extendv4qiv4di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_SIGN_EXTEND (V4DImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22214 */
rtx
gen_avx2_zero_extendv4qiv4di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4DImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22214 */
rtx
gen_avx2_zero_extendv4qiv4di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_ZERO_EXTEND (V4DImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22276 */
rtx
gen_sse4_1_sign_extendv2qiv2di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22276 */
rtx
gen_sse4_1_sign_extendv2qiv2di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22276 */
rtx
gen_sse4_1_zero_extendv2qiv2di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22276 */
rtx
gen_sse4_1_zero_extendv2qiv2di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22302 */
rtx
gen_avx512f_sign_extendv8hiv8di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V8DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22302 */
rtx
gen_avx512f_sign_extendv8hiv8di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_SIGN_EXTEND (V8DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22302 */
rtx
gen_avx512f_zero_extendv8hiv8di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22302 */
rtx
gen_avx512f_zero_extendv8hiv8di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_ZERO_EXTEND (V8DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22318 */
rtx
gen_avx2_sign_extendv4hiv4di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V4DImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22318 */
rtx
gen_avx2_sign_extendv4hiv4di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_SIGN_EXTEND (V4DImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22318 */
rtx
gen_avx2_zero_extendv4hiv4di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4DImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22318 */
rtx
gen_avx2_zero_extendv4hiv4di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_ZERO_EXTEND (V4DImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22376 */
rtx
gen_sse4_1_sign_extendv2hiv2di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22376 */
rtx
gen_sse4_1_sign_extendv2hiv2di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22376 */
rtx
gen_sse4_1_zero_extendv2hiv2di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22376 */
rtx
gen_sse4_1_zero_extendv2hiv2di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22438 */
rtx
gen_avx512f_sign_extendv8siv8di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V8DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22438 */
rtx
gen_avx512f_sign_extendv8siv8di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_SIGN_EXTEND (V8DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22438 */
rtx
gen_avx512f_zero_extendv8siv8di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22438 */
rtx
gen_avx512f_zero_extendv8siv8di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_ZERO_EXTEND (V8DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22489 */
rtx
gen_avx2_sign_extendv4siv4di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V4DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22489 */
rtx
gen_avx2_sign_extendv4siv4di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_SIGN_EXTEND (V4DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22489 */
rtx
gen_avx2_zero_extendv4siv4di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22489 */
rtx
gen_avx2_zero_extendv4siv4di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_ZERO_EXTEND (V4DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22541 */
rtx
gen_sse4_1_sign_extendv2siv2di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22541 */
rtx
gen_sse4_1_sign_extendv2siv2di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22541 */
rtx
gen_sse4_1_zero_extendv2siv2di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22541 */
rtx
gen_sse4_1_zero_extendv2siv2di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22657 */
rtx
gen_avx_vtestps256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	134));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22657 */
rtx
gen_avx_vtestps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	134));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22657 */
rtx
gen_avx_vtestpd256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	134));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22657 */
rtx
gen_avx_vtestpd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	134));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22671 */
rtx
gen_sse4_1_ptestv16qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	116));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22671 */
rtx
gen_sse4_1_ptestv8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	116));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22671 */
rtx
gen_sse4_1_ptestv4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	116));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22671 */
rtx
gen_sse4_1_ptestv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	116));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22671 */
rtx
gen_sse4_1_ptestv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	116));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22671 */
rtx
gen_sse4_1_ptestv2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	116));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22671 */
rtx
gen_avx_ptestv32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	116));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22671 */
rtx
gen_avx_ptestv16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	116));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22671 */
rtx
gen_avx_ptestv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	116));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22671 */
rtx
gen_avx_ptestv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	116));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22671 */
rtx
gen_avx_ptestv8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	116));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22671 */
rtx
gen_avx_ptestv4df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	116));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22689 */
rtx
gen_ptesttf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (2,
		operand0,
		operand1),
	116));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22720 */
rtx
gen_avx_roundps256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22720 */
rtx
gen_sse4_1_roundps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22720 */
rtx
gen_avx_roundpd256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22720 */
rtx
gen_sse4_1_roundpd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22812 */
rtx
gen_sse4_1_roundss (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand2,
		operand3),
	85),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22812 */
rtx
gen_sse4_1_roundsd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand2,
		operand3),
	85),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22947 */
rtx
gen_sse4_2_pcmpestr (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (5,
		operand2,
		operand3,
		operand4,
		operand5,
		operand6),
	117)),
		gen_rtx_SET (operand1,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (5,
		copy_rtx (operand2),
		copy_rtx (operand3),
		copy_rtx (operand4),
		copy_rtx (operand5),
		copy_rtx (operand6)),
	117)),
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (5,
		copy_rtx (operand2),
		copy_rtx (operand3),
		copy_rtx (operand4),
		copy_rtx (operand5),
		copy_rtx (operand6)),
	117))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23007 */
rtx
gen_sse4_2_pcmpestri (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (5,
		operand1,
		operand2,
		operand3,
		operand4,
		operand5),
	117)),
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (5,
		copy_rtx (operand1),
		copy_rtx (operand2),
		copy_rtx (operand3),
		copy_rtx (operand4),
		copy_rtx (operand5)),
	117))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23035 */
rtx
gen_sse4_2_pcmpestrm (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (5,
		operand1,
		operand2,
		operand3,
		operand4,
		operand5),
	117)),
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (5,
		copy_rtx (operand1),
		copy_rtx (operand2),
		copy_rtx (operand3),
		copy_rtx (operand4),
		copy_rtx (operand5)),
	117))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23063 */
rtx
gen_sse4_2_pcmpestr_cconly (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (5,
		operand2,
		operand3,
		operand4,
		operand5,
		operand6),
	117)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V16QImode)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23089 */
rtx
gen_sse4_2_pcmpistr (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand2,
		operand3,
		operand4),
	118)),
		gen_rtx_SET (operand1,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		copy_rtx (operand2),
		copy_rtx (operand3),
		copy_rtx (operand4)),
	118)),
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (3,
		copy_rtx (operand2),
		copy_rtx (operand3),
		copy_rtx (operand4)),
	118))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23140 */
rtx
gen_sse4_2_pcmpistri (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	118)),
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (3,
		copy_rtx (operand1),
		copy_rtx (operand2),
		copy_rtx (operand3)),
	118))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23164 */
rtx
gen_sse4_2_pcmpistrm (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	118)),
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (3,
		copy_rtx (operand1),
		copy_rtx (operand2),
		copy_rtx (operand3)),
	118))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23188 */
rtx
gen_sse4_2_pcmpistr_cconly (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (3,
		operand2,
		operand3,
		operand4),
	118)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V16QImode)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23407 */
rtx
gen_avx512er_exp2v16sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (1,
		operand1),
	165));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23407 */
rtx
gen_avx512er_exp2v16sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (1,
		operand1),
	165),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23407 */
rtx
gen_avx512er_exp2v16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (1,
		operand1),
	165),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23407 */
rtx
gen_avx512er_exp2v16sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (1,
		operand1),
	165),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23407 */
rtx
gen_avx512er_exp2v8df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (1,
		operand1),
	165));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23407 */
rtx
gen_avx512er_exp2v8df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (1,
		operand1),
	165),
		operand2),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23407 */
rtx
gen_avx512er_exp2v8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (1,
		operand1),
	165),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23407 */
rtx
gen_avx512er_exp2v8df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (1,
		operand1),
	165),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23418 */
rtx
gen_avx512er_rcp28v16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (1,
		operand1),
	166),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23418 */
rtx
gen_avx512er_rcp28v16sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (1,
		operand1),
	166),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23418 */
rtx
gen_avx512er_rcp28v8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (1,
		operand1),
	166),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23418 */
rtx
gen_avx512er_rcp28v8df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (1,
		operand1),
	166),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23429 */
rtx
gen_avx512er_vmrcp28v4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	166),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23429 */
rtx
gen_avx512er_vmrcp28v4sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	166),
	operand2,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23429 */
rtx
gen_avx512er_vmrcp28v4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	166),
	operand2,
	const1_rtx),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23429 */
rtx
gen_avx512er_vmrcp28v4sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	166),
	operand2,
	const1_rtx),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23429 */
rtx
gen_avx512er_vmrcp28v2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	166),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23429 */
rtx
gen_avx512er_vmrcp28v2df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	166),
	operand2,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23429 */
rtx
gen_avx512er_vmrcp28v2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	166),
	operand2,
	const1_rtx),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23429 */
rtx
gen_avx512er_vmrcp28v2df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	166),
	operand2,
	const1_rtx),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23444 */
rtx
gen_avx512er_rsqrt28v16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (1,
		operand1),
	167),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23444 */
rtx
gen_avx512er_rsqrt28v16sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (1,
		operand1),
	167),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23444 */
rtx
gen_avx512er_rsqrt28v8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (1,
		operand1),
	167),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23444 */
rtx
gen_avx512er_rsqrt28v8df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (1,
		operand1),
	167),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23455 */
rtx
gen_avx512er_vmrsqrt28v4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	167),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23455 */
rtx
gen_avx512er_vmrsqrt28v4sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	167),
	operand2,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23455 */
rtx
gen_avx512er_vmrsqrt28v4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	167),
	operand2,
	const1_rtx),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23455 */
rtx
gen_avx512er_vmrsqrt28v4sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	167),
	operand2,
	const1_rtx),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23455 */
rtx
gen_avx512er_vmrsqrt28v2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	167),
	operand2,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23455 */
rtx
gen_avx512er_vmrsqrt28v2df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	167),
	operand2,
	const1_rtx),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23455 */
rtx
gen_avx512er_vmrsqrt28v2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	167),
	operand2,
	const1_rtx),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23455 */
rtx
gen_avx512er_vmrsqrt28v2df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	167),
	operand2,
	const1_rtx),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23483 */
rtx
gen_xop_pmacsww (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V8HImode,
	gen_rtx_MULT (V8HImode,
	operand1,
	operand2),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23483 */
rtx
gen_xop_pmacssww (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SS_PLUS (V8HImode,
	gen_rtx_MULT (V8HImode,
	operand1,
	operand2),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23483 */
rtx
gen_xop_pmacsdd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V4SImode,
	gen_rtx_MULT (V4SImode,
	operand1,
	operand2),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23483 */
rtx
gen_xop_pmacssdd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SS_PLUS (V4SImode,
	gen_rtx_MULT (V4SImode,
	operand1,
	operand2),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23495 */
rtx
gen_xop_pmacsdql (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V2DImode,
	gen_rtx_MULT (V2DImode,
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)])))),
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))))),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23495 */
rtx
gen_xop_pmacssdql (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SS_PLUS (V2DImode,
	gen_rtx_MULT (V2DImode,
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)])))),
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))))),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23513 */
rtx
gen_xop_pmacsdqh (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V2DImode,
	gen_rtx_MULT (V2DImode,
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))),
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))))),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23513 */
rtx
gen_xop_pmacssdqh (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SS_PLUS (V2DImode,
	gen_rtx_MULT (V2DImode,
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))),
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))))),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23532 */
rtx
gen_xop_pmacswd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V4SImode,
	gen_rtx_MULT (V4SImode,
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))),
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))))),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23532 */
rtx
gen_xop_pmacsswd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SS_PLUS (V4SImode,
	gen_rtx_MULT (V4SImode,
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))),
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))))),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23552 */
rtx
gen_xop_pmadcswd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V4SImode,
	gen_rtx_PLUS (V4SImode,
	gen_rtx_MULT (V4SImode,
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)])))),
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))))),
	gen_rtx_MULT (V4SImode,
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))),
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))))),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23552 */
rtx
gen_xop_pmadcsswd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SS_PLUS (V4SImode,
	gen_rtx_PLUS (V4SImode,
	gen_rtx_MULT (V4SImode,
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)])))),
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))))),
	gen_rtx_MULT (V4SImode,
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))),
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))))),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23585 */
rtx
gen_xop_pcmov_v32qi256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32QImode,
	operand3,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23585 */
rtx
gen_xop_pcmov_v16qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16QImode,
	operand3,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23585 */
rtx
gen_xop_pcmov_v16hi256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16HImode,
	operand3,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23585 */
rtx
gen_xop_pcmov_v8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8HImode,
	operand3,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23585 */
rtx
gen_xop_pcmov_v8si256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SImode,
	operand3,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23585 */
rtx
gen_xop_pcmov_v4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4SImode,
	operand3,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23585 */
rtx
gen_xop_pcmov_v4di256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DImode,
	operand3,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23585 */
rtx
gen_xop_pcmov_v2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DImode,
	operand3,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23585 */
rtx
gen_xop_pcmov_v16hf256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16HFmode,
	operand3,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23585 */
rtx
gen_xop_pcmov_v8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8HFmode,
	operand3,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23585 */
rtx
gen_xop_pcmov_v8sf256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SFmode,
	operand3,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23585 */
rtx
gen_xop_pcmov_v4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4SFmode,
	operand3,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23585 */
rtx
gen_xop_pcmov_v4df256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DFmode,
	operand3,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23585 */
rtx
gen_xop_pcmov_v2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DFmode,
	operand3,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23596 */
rtx
gen_xop_phaddbw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V8HImode,
	gen_rtx_SIGN_EXTEND (V8HImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)])))),
	gen_rtx_SIGN_EXTEND (V8HImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23596 */
rtx
gen_xop_phaddubw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V8HImode,
	gen_rtx_ZERO_EXTEND (V8HImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)])))),
	gen_rtx_ZERO_EXTEND (V8HImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23617 */
rtx
gen_xop_phaddbd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V4SImode,
	gen_rtx_PLUS (V4SImode,
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)])))),
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)]))))),
	gen_rtx_PLUS (V4SImode,
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)])))),
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23617 */
rtx
gen_xop_phaddubd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V4SImode,
	gen_rtx_PLUS (V4SImode,
	gen_rtx_ZERO_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)])))),
	gen_rtx_ZERO_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)]))))),
	gen_rtx_PLUS (V4SImode,
	gen_rtx_ZERO_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)])))),
	gen_rtx_ZERO_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23646 */
rtx
gen_xop_phaddbq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V2DImode,
	gen_rtx_PLUS (V2DImode,
	gen_rtx_PLUS (V2DImode,
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)])))),
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (9)]))))),
	gen_rtx_PLUS (V2DImode,
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)])))),
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)])))))),
	gen_rtx_PLUS (V2DImode,
	gen_rtx_PLUS (V2DImode,
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)])))),
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)]))))),
	gen_rtx_PLUS (V2DImode,
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)])))),
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23646 */
rtx
gen_xop_phaddubq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V2DImode,
	gen_rtx_PLUS (V2DImode,
	gen_rtx_PLUS (V2DImode,
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)])))),
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (9)]))))),
	gen_rtx_PLUS (V2DImode,
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)])))),
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)])))))),
	gen_rtx_PLUS (V2DImode,
	gen_rtx_PLUS (V2DImode,
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)])))),
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)]))))),
	gen_rtx_PLUS (V2DImode,
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)])))),
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23691 */
rtx
gen_xop_phaddwd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V4SImode,
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)])))),
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23691 */
rtx
gen_xop_phadduwd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V4SImode,
	gen_rtx_ZERO_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)])))),
	gen_rtx_ZERO_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23708 */
rtx
gen_xop_phaddwq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V2DImode,
	gen_rtx_PLUS (V2DImode,
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)])))),
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)]))))),
	gen_rtx_PLUS (V2DImode,
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)])))),
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23708 */
rtx
gen_xop_phadduwq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V2DImode,
	gen_rtx_PLUS (V2DImode,
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)])))),
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)]))))),
	gen_rtx_PLUS (V2DImode,
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)])))),
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23733 */
rtx
gen_xop_phadddq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V2DImode,
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)])))),
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23733 */
rtx
gen_xop_phaddudq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V2DImode,
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)])))),
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23748 */
rtx
gen_xop_phsubbw (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (V8HImode,
	gen_rtx_SIGN_EXTEND (V8HImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)])))),
	gen_rtx_SIGN_EXTEND (V8HImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23769 */
rtx
gen_xop_phsubwd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (V4SImode,
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)])))),
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23786 */
rtx
gen_xop_phsubdq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (V2DImode,
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)])))),
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23802 */
rtx
gen_xop_pperm (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	47));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23815 */
rtx
gen_xop_pperm_pack_v2di_v4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SImode,
	gen_rtx_TRUNCATE (V2SImode,
	operand1),
	gen_rtx_TRUNCATE (V2SImode,
	operand2))),
		gen_rtx_USE (VOIDmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23828 */
rtx
gen_xop_pperm_pack_v4si_v8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_TRUNCATE (V4HImode,
	operand1),
	gen_rtx_TRUNCATE (V4HImode,
	operand2))),
		gen_rtx_USE (VOIDmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23841 */
rtx
gen_xop_pperm_pack_v8hi_v16qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	gen_rtx_TRUNCATE (V8QImode,
	operand1),
	gen_rtx_TRUNCATE (V8QImode,
	operand2))),
		gen_rtx_USE (VOIDmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23919 */
rtx
gen_xop_rotlv16qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATE (V16QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23919 */
rtx
gen_xop_rotlv8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATE (V8HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23919 */
rtx
gen_xop_rotlv4si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATE (V4SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23919 */
rtx
gen_xop_rotlv2di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATE (V2DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23930 */
rtx
gen_xop_rotrv16qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (V16QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23930 */
rtx
gen_xop_rotrv8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (V8HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23930 */
rtx
gen_xop_rotrv4si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (V4SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23930 */
rtx
gen_xop_rotrv2di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (V2DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23967 */
rtx
gen_xop_vrotlv16qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16QImode,
	gen_rtx_GE (V16QImode,
	operand2,
	const0_rtx),
	gen_rtx_ROTATE (V16QImode,
	operand1,
	operand2),
	gen_rtx_ROTATERT (V16QImode,
	operand1,
	gen_rtx_NEG (V16QImode,
	operand2))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23967 */
rtx
gen_xop_vrotlv8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8HImode,
	gen_rtx_GE (V8HImode,
	operand2,
	const0_rtx),
	gen_rtx_ROTATE (V8HImode,
	operand1,
	operand2),
	gen_rtx_ROTATERT (V8HImode,
	operand1,
	gen_rtx_NEG (V8HImode,
	operand2))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23967 */
rtx
gen_xop_vrotlv4si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4SImode,
	gen_rtx_GE (V4SImode,
	operand2,
	const0_rtx),
	gen_rtx_ROTATE (V4SImode,
	operand1,
	operand2),
	gen_rtx_ROTATERT (V4SImode,
	operand1,
	gen_rtx_NEG (V4SImode,
	operand2))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23967 */
rtx
gen_xop_vrotlv2di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DImode,
	gen_rtx_GE (V2DImode,
	operand2,
	const0_rtx),
	gen_rtx_ROTATE (V2DImode,
	operand1,
	operand2),
	gen_rtx_ROTATERT (V2DImode,
	operand1,
	gen_rtx_NEG (V2DImode,
	operand2))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24215 */
rtx
gen_xop_shav16qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16QImode,
	gen_rtx_GE (V16QImode,
	operand2,
	const0_rtx),
	gen_rtx_ASHIFT (V16QImode,
	operand1,
	operand2),
	gen_rtx_ASHIFTRT (V16QImode,
	operand1,
	gen_rtx_NEG (V16QImode,
	operand2))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24215 */
rtx
gen_xop_shav8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8HImode,
	gen_rtx_GE (V8HImode,
	operand2,
	const0_rtx),
	gen_rtx_ASHIFT (V8HImode,
	operand1,
	operand2),
	gen_rtx_ASHIFTRT (V8HImode,
	operand1,
	gen_rtx_NEG (V8HImode,
	operand2))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24215 */
rtx
gen_xop_shav4si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4SImode,
	gen_rtx_GE (V4SImode,
	operand2,
	const0_rtx),
	gen_rtx_ASHIFT (V4SImode,
	operand1,
	operand2),
	gen_rtx_ASHIFTRT (V4SImode,
	operand1,
	gen_rtx_NEG (V4SImode,
	operand2))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24215 */
rtx
gen_xop_shav2di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DImode,
	gen_rtx_GE (V2DImode,
	operand2,
	const0_rtx),
	gen_rtx_ASHIFT (V2DImode,
	operand1,
	operand2),
	gen_rtx_ASHIFTRT (V2DImode,
	operand1,
	gen_rtx_NEG (V2DImode,
	operand2))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24234 */
rtx
gen_xop_shlv16qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16QImode,
	gen_rtx_GE (V16QImode,
	operand2,
	const0_rtx),
	gen_rtx_ASHIFT (V16QImode,
	operand1,
	operand2),
	gen_rtx_LSHIFTRT (V16QImode,
	operand1,
	gen_rtx_NEG (V16QImode,
	operand2))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24234 */
rtx
gen_xop_shlv8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8HImode,
	gen_rtx_GE (V8HImode,
	operand2,
	const0_rtx),
	gen_rtx_ASHIFT (V8HImode,
	operand1,
	operand2),
	gen_rtx_LSHIFTRT (V8HImode,
	operand1,
	gen_rtx_NEG (V8HImode,
	operand2))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24234 */
rtx
gen_xop_shlv4si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4SImode,
	gen_rtx_GE (V4SImode,
	operand2,
	const0_rtx),
	gen_rtx_ASHIFT (V4SImode,
	operand1,
	operand2),
	gen_rtx_LSHIFTRT (V4SImode,
	operand1,
	gen_rtx_NEG (V4SImode,
	operand2))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24234 */
rtx
gen_xop_shlv2di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DImode,
	gen_rtx_GE (V2DImode,
	operand2,
	const0_rtx),
	gen_rtx_ASHIFT (V2DImode,
	operand1,
	operand2),
	gen_rtx_LSHIFTRT (V2DImode,
	operand1,
	gen_rtx_NEG (V2DImode,
	operand2))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24453 */
rtx
gen_xop_frczsf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SFmode,
	gen_rtvec (1,
		operand1),
	122));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24453 */
rtx
gen_xop_frczdf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DFmode,
	gen_rtvec (1,
		operand1),
	122));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24453 */
rtx
gen_xop_frczv4sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	122));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24453 */
rtx
gen_xop_frczv2df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	122));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24453 */
rtx
gen_xop_frczv8sf2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (1,
		operand1),
	122));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24453 */
rtx
gen_xop_frczv4df2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (1,
		operand1),
	122));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24487 */
rtx
gen_xop_maskcmpv16qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V16QImode,
		operand2,
		operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24487 */
rtx
gen_xop_maskcmpv8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V8HImode,
		operand2,
		operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24487 */
rtx
gen_xop_maskcmpv4si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V4SImode,
		operand2,
		operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24487 */
rtx
gen_xop_maskcmpv2di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V2DImode,
		operand2,
		operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24501 */
rtx
gen_xop_maskcmp_unsv16qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V16QImode,
		operand2,
		operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24501 */
rtx
gen_xop_maskcmp_unsv8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V8HImode,
		operand2,
		operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24501 */
rtx
gen_xop_maskcmp_unsv4si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V4SImode,
		operand2,
		operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24501 */
rtx
gen_xop_maskcmp_unsv2di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V2DImode,
		operand2,
		operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24518 */
rtx
gen_xop_maskcmp_uns2v16qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (1,
		gen_rtx_fmt_ee (GET_CODE (operand1), V16QImode,
		operand2,
		operand3)),
	120));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24518 */
rtx
gen_xop_maskcmp_uns2v8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (1,
		gen_rtx_fmt_ee (GET_CODE (operand1), V8HImode,
		operand2,
		operand3)),
	120));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24518 */
rtx
gen_xop_maskcmp_uns2v4si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		gen_rtx_fmt_ee (GET_CODE (operand1), V4SImode,
		operand2,
		operand3)),
	120));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24518 */
rtx
gen_xop_maskcmp_uns2v2di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (1,
		gen_rtx_fmt_ee (GET_CODE (operand1), V2DImode,
		operand2,
		operand3)),
	120));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24535 */
rtx
gen_xop_pcom_tfv16qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	121));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24535 */
rtx
gen_xop_pcom_tfv8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	121));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24535 */
rtx
gen_xop_pcom_tfv4si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	121));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24535 */
rtx
gen_xop_pcom_tfv2di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	121));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24554 */
rtx
gen_xop_vpermil2v8sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	131));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24554 */
rtx
gen_xop_vpermil2v4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	131));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24554 */
rtx
gen_xop_vpermil2v4df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	131));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24554 */
rtx
gen_xop_vpermil2v2df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	131));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24570 */
rtx
gen_aesenc (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	123));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24586 */
rtx
gen_aesenclast (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	124));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24602 */
rtx
gen_aesdec (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	125));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24618 */
rtx
gen_aesdeclast (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	126));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24634 */
rtx
gen_aesimc (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (1,
		operand1),
	127));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24645 */
rtx
gen_aeskeygenassist (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	128));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24658 */
rtx
gen_pclmulqdq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	129));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24721 */
rtx
gen_avx_vzeroupper_callee_abi (void)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_CALL (VOIDmode,
	gen_rtx_MEM (QImode,
	const0_rtx),
	const0_rtx),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const1_rtx),
	95)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24741 */
rtx
gen_avx2_pbroadcastv16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V16SImode,
	gen_rtx_VEC_SELECT (SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24741 */
rtx
gen_avx2_pbroadcastv8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8DImode,
	gen_rtx_VEC_SELECT (DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24741 */
rtx
gen_avx2_pbroadcastv64qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V64QImode,
	gen_rtx_VEC_SELECT (QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24741 */
rtx
gen_avx2_pbroadcastv32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V32QImode,
	gen_rtx_VEC_SELECT (QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24741 */
rtx
gen_avx2_pbroadcastv16qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V16QImode,
	gen_rtx_VEC_SELECT (QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24741 */
rtx
gen_avx2_pbroadcastv32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V32HImode,
	gen_rtx_VEC_SELECT (HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24741 */
rtx
gen_avx2_pbroadcastv16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V16HImode,
	gen_rtx_VEC_SELECT (HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24741 */
rtx
gen_avx2_pbroadcastv8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8HImode,
	gen_rtx_VEC_SELECT (HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24741 */
rtx
gen_avx2_pbroadcastv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8SImode,
	gen_rtx_VEC_SELECT (SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24741 */
rtx
gen_avx2_pbroadcastv4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V4SImode,
	gen_rtx_VEC_SELECT (SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24741 */
rtx
gen_avx2_pbroadcastv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V4DImode,
	gen_rtx_VEC_SELECT (DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24741 */
rtx
gen_avx2_pbroadcastv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V2DImode,
	gen_rtx_VEC_SELECT (DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24741 */
rtx
gen_avx2_pbroadcastv32hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V32HFmode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24741 */
rtx
gen_avx2_pbroadcastv16hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V16HFmode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24741 */
rtx
gen_avx2_pbroadcastv8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24755 */
rtx
gen_avx2_pbroadcastv32qi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V32QImode,
	gen_rtx_VEC_SELECT (QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24755 */
rtx
gen_avx2_pbroadcastv16hi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V16HImode,
	gen_rtx_VEC_SELECT (HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24755 */
rtx
gen_avx2_pbroadcastv8si_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8SImode,
	gen_rtx_VEC_SELECT (SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24755 */
rtx
gen_avx2_pbroadcastv4di_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V4DImode,
	gen_rtx_VEC_SELECT (DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24755 */
rtx
gen_avx2_pbroadcastv16hf_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V16HFmode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24773 */
rtx
gen_avx2_permvarv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	137));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24773 */
rtx
gen_avx2_permvarv8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	137),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24773 */
rtx
gen_avx2_permvarv8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	137));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24773 */
rtx
gen_avx2_permvarv8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	137),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24773 */
rtx
gen_avx512f_permvarv16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	137));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24773 */
rtx
gen_avx512f_permvarv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	137),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24773 */
rtx
gen_avx512f_permvarv16sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	137));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24773 */
rtx
gen_avx512f_permvarv16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	137),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24773 */
rtx
gen_avx512f_permvarv8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	137));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24773 */
rtx
gen_avx512f_permvarv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	137),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24773 */
rtx
gen_avx512f_permvarv8df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	137));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24773 */
rtx
gen_avx512f_permvarv8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	137),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24773 */
rtx
gen_avx2_permvarv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	137));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24773 */
rtx
gen_avx2_permvarv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	137),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24773 */
rtx
gen_avx2_permvarv4df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	137));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24773 */
rtx
gen_avx2_permvarv4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	137),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24792 */
rtx
gen_avx512bw_permvarv64qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	137));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24792 */
rtx
gen_avx512bw_permvarv64qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	137),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24792 */
rtx
gen_avx512vl_permvarv16qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	137));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24792 */
rtx
gen_avx512vl_permvarv16qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	137),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24792 */
rtx
gen_avx512vl_permvarv32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	137));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24792 */
rtx
gen_avx512vl_permvarv32qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	137),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24804 */
rtx
gen_avx512vl_permvarv8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	137));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24804 */
rtx
gen_avx512vl_permvarv8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	137),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24804 */
rtx
gen_avx512vl_permvarv16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	137));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24804 */
rtx
gen_avx512vl_permvarv16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	137),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24804 */
rtx
gen_avx512bw_permvarv32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	137));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24804 */
rtx
gen_avx512bw_permvarv32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	137),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25008 */
rtx
gen_avx2_permv4di_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		operand2,
		operand3,
		operand4,
		operand5))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25008 */
rtx
gen_avx2_permv4di_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_VEC_SELECT (V4DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		operand2,
		operand3,
		operand4,
		operand5))),
	operand6,
	operand7));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25008 */
rtx
gen_avx2_permv4df_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		operand2,
		operand3,
		operand4,
		operand5))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25008 */
rtx
gen_avx2_permv4df_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_VEC_SELECT (V4DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		operand2,
		operand3,
		operand4,
		operand5))),
	operand6,
	operand7));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25075 */
rtx
gen_avx512f_permv8df_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		operand2,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25075 */
rtx
gen_avx512f_permv8df_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED,
	rtx operand11 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_VEC_SELECT (V8DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		operand2,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9))),
	operand10,
	operand11));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25075 */
rtx
gen_avx512f_permv8di_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		operand2,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25075 */
rtx
gen_avx512f_permv8di_1_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED,
	rtx operand7 ATTRIBUTE_UNUSED,
	rtx operand8 ATTRIBUTE_UNUSED,
	rtx operand9 ATTRIBUTE_UNUSED,
	rtx operand10 ATTRIBUTE_UNUSED,
	rtx operand11 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_VEC_SELECT (V8DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		operand2,
		operand3,
		operand4,
		operand5,
		operand6,
		operand7,
		operand8,
		operand9))),
	operand10,
	operand11));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25109 */
rtx
gen_avx2_permv2ti (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	138));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25122 */
rtx
gen_avx2_vec_dupv4df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V4DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25134 */
rtx
gen_avx512f_vec_dupv16si_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V16SImode,
	gen_rtx_VEC_SELECT (SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25134 */
rtx
gen_avx512f_vec_dupv8di_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8DImode,
	gen_rtx_VEC_SELECT (DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25134 */
rtx
gen_avx512bw_vec_dupv32hi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V32HImode,
	gen_rtx_VEC_SELECT (HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25134 */
rtx
gen_avx512bw_vec_dupv64qi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V64QImode,
	gen_rtx_VEC_SELECT (QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25134 */
rtx
gen_avx512bw_vec_dupv32hf_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V32HFmode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512f_vec_dupv16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V16SImode,
	gen_rtx_VEC_SELECT (SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512f_vec_dupv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_VEC_DUPLICATE (V16SImode,
	gen_rtx_VEC_SELECT (SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512vl_vec_dupv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8SImode,
	gen_rtx_VEC_SELECT (SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512vl_vec_dupv8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_VEC_DUPLICATE (V8SImode,
	gen_rtx_VEC_SELECT (SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512vl_vec_dupv4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V4SImode,
	gen_rtx_VEC_SELECT (SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512vl_vec_dupv4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_VEC_DUPLICATE (V4SImode,
	gen_rtx_VEC_SELECT (SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512f_vec_dupv8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8DImode,
	gen_rtx_VEC_SELECT (DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512f_vec_dupv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_VEC_DUPLICATE (V8DImode,
	gen_rtx_VEC_SELECT (DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512vl_vec_dupv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V4DImode,
	gen_rtx_VEC_SELECT (DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512vl_vec_dupv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_VEC_DUPLICATE (V4DImode,
	gen_rtx_VEC_SELECT (DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512vl_vec_dupv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V2DImode,
	gen_rtx_VEC_SELECT (DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512vl_vec_dupv2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_VEC_DUPLICATE (V2DImode,
	gen_rtx_VEC_SELECT (DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512f_vec_dupv16sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V16SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512f_vec_dupv16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_VEC_DUPLICATE (V16SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512vl_vec_dupv8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512vl_vec_dupv8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_VEC_DUPLICATE (V8SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512vl_vec_dupv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512vl_vec_dupv4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512f_vec_dupv8df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512f_vec_dupv8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_VEC_DUPLICATE (V8DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512vl_vec_dupv4df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V4DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512vl_vec_dupv4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_VEC_DUPLICATE (V4DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512vl_vec_dupv2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25148 */
rtx
gen_avx512vl_vec_dupv2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25167 */
rtx
gen_avx512bw_vec_dupv64qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V64QImode,
	gen_rtx_VEC_SELECT (QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25167 */
rtx
gen_avx512bw_vec_dupv64qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_VEC_DUPLICATE (V64QImode,
	gen_rtx_VEC_SELECT (QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25167 */
rtx
gen_avx512vl_vec_dupv16qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V16QImode,
	gen_rtx_VEC_SELECT (QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25167 */
rtx
gen_avx512vl_vec_dupv16qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_VEC_DUPLICATE (V16QImode,
	gen_rtx_VEC_SELECT (QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25167 */
rtx
gen_avx512vl_vec_dupv32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V32QImode,
	gen_rtx_VEC_SELECT (QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25167 */
rtx
gen_avx512vl_vec_dupv32qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_VEC_DUPLICATE (V32QImode,
	gen_rtx_VEC_SELECT (QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25167 */
rtx
gen_avx512bw_vec_dupv32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V32HImode,
	gen_rtx_VEC_SELECT (HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25167 */
rtx
gen_avx512bw_vec_dupv32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_VEC_DUPLICATE (V32HImode,
	gen_rtx_VEC_SELECT (HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25167 */
rtx
gen_avx512vl_vec_dupv16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V16HImode,
	gen_rtx_VEC_SELECT (HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25167 */
rtx
gen_avx512vl_vec_dupv16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_VEC_DUPLICATE (V16HImode,
	gen_rtx_VEC_SELECT (HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25167 */
rtx
gen_avx512vl_vec_dupv8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8HImode,
	gen_rtx_VEC_SELECT (HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25167 */
rtx
gen_avx512vl_vec_dupv8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_VEC_DUPLICATE (V8HImode,
	gen_rtx_VEC_SELECT (HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25167 */
rtx
gen_avx512bw_vec_dupv32hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V32HFmode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25167 */
rtx
gen_avx512bw_vec_dupv32hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_VEC_DUPLICATE (V32HFmode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25167 */
rtx
gen_avx512vl_vec_dupv16hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V16HFmode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25167 */
rtx
gen_avx512vl_vec_dupv16hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_VEC_DUPLICATE (V16HFmode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25167 */
rtx
gen_avx512fp16_vec_dupv8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25167 */
rtx
gen_avx512fp16_vec_dupv8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	gen_rtx_VEC_SELECT (HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25179 */
rtx
gen_avx512f_broadcastv16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_VEC_DUPLICATE (V16SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25179 */
rtx
gen_avx512f_broadcastv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_VEC_DUPLICATE (V16SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25191 */
rtx
gen_avx512f_broadcastv8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_VEC_DUPLICATE (V8DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25191 */
rtx
gen_avx512f_broadcastv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_VEC_DUPLICATE (V8DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25203 */
rtx
gen_avx512bw_vec_dup_gprv64qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_VEC_DUPLICATE (V64QImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25203 */
rtx
gen_avx512vl_vec_dup_gprv16qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_VEC_DUPLICATE (V16QImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25203 */
rtx
gen_avx512vl_vec_dup_gprv32qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_VEC_DUPLICATE (V32QImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25203 */
rtx
gen_avx512bw_vec_dup_gprv32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_VEC_DUPLICATE (V32HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25203 */
rtx
gen_avx512vl_vec_dup_gprv16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_VEC_DUPLICATE (V16HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25203 */
rtx
gen_avx512vl_vec_dup_gprv8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_VEC_DUPLICATE (V8HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25203 */
rtx
gen_avx512bw_vec_dup_gprv32hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_VEC_DUPLICATE (V32HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25203 */
rtx
gen_avx512vl_vec_dup_gprv16hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_VEC_DUPLICATE (V16HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25203 */
rtx
gen_avx512fp16_vec_dup_gprv8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25215 */
rtx
gen_avx512f_vec_dup_gprv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_VEC_DUPLICATE (V16SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25215 */
rtx
gen_avx512vl_vec_dup_gprv8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_VEC_DUPLICATE (V8SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25215 */
rtx
gen_avx512vl_vec_dup_gprv4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_VEC_DUPLICATE (V4SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25215 */
rtx
gen_avx512f_vec_dup_gprv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_VEC_DUPLICATE (V8DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25215 */
rtx
gen_avx512vl_vec_dup_gprv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_VEC_DUPLICATE (V4DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25215 */
rtx
gen_avx512vl_vec_dup_gprv2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_VEC_DUPLICATE (V2DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25215 */
rtx
gen_avx512f_vec_dup_gprv16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_VEC_DUPLICATE (V16SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25215 */
rtx
gen_avx512vl_vec_dup_gprv8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_VEC_DUPLICATE (V8SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25215 */
rtx
gen_avx512vl_vec_dup_gprv4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25215 */
rtx
gen_avx512f_vec_dup_gprv8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_VEC_DUPLICATE (V8DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25215 */
rtx
gen_avx512vl_vec_dup_gprv4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_VEC_DUPLICATE (V4DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25215 */
rtx
gen_avx512vl_vec_dup_gprv2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25230 */
rtx
gen_vec_dupv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25282 */
rtx
gen_avx2_vbroadcasti128_v32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V32QImode,
	operand1,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25282 */
rtx
gen_avx2_vbroadcasti128_v16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16HImode,
	operand1,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25282 */
rtx
gen_avx2_vbroadcasti128_v8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8SImode,
	operand1,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25282 */
rtx
gen_avx2_vbroadcasti128_v4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4DImode,
	operand1,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25327 */
rtx
gen_vec_dupv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25327 */
rtx
gen_vec_dupv8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25327 */
rtx
gen_vec_dupv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V4DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25327 */
rtx
gen_vec_dupv4df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V4DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25378 */
rtx
gen_avx_vbroadcastf128_v32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V32QImode,
	operand1,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25378 */
rtx
gen_avx_vbroadcastf128_v16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16HImode,
	operand1,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25378 */
rtx
gen_avx_vbroadcastf128_v8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8SImode,
	operand1,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25378 */
rtx
gen_avx_vbroadcastf128_v4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4DImode,
	operand1,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25378 */
rtx
gen_avx_vbroadcastf128_v8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8SFmode,
	operand1,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25378 */
rtx
gen_avx_vbroadcastf128_v4df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4DFmode,
	operand1,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25378 */
rtx
gen_avx_vbroadcastf128_v16hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16HFmode,
	operand1,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25411 */
rtx
gen_avx512dq_broadcastv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_VEC_DUPLICATE (V16SImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25411 */
rtx
gen_avx512dq_broadcastv8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_VEC_DUPLICATE (V8SImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25411 */
rtx
gen_avx512dq_broadcastv4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_VEC_DUPLICATE (V4SImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25411 */
rtx
gen_avx512dq_broadcastv16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_VEC_DUPLICATE (V16SFmode,
	gen_rtx_VEC_SELECT (V2SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25411 */
rtx
gen_avx512dq_broadcastv8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_VEC_DUPLICATE (V8SFmode,
	gen_rtx_VEC_SELECT (V2SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25424 */
rtx
gen_avx512vl_broadcastv8si_mask_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_VEC_DUPLICATE (V8SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25424 */
rtx
gen_avx512vl_broadcastv8sf_mask_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_VEC_DUPLICATE (V8SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25437 */
rtx
gen_avx512dq_broadcastv16sf_mask_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_VEC_DUPLICATE (V16SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25437 */
rtx
gen_avx512dq_broadcastv16si_mask_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_VEC_DUPLICATE (V16SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25454 */
rtx
gen_avx512dq_broadcastv8di_mask_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_VEC_DUPLICATE (V8DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25454 */
rtx
gen_avx512dq_broadcastv8df_mask_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_VEC_DUPLICATE (V8DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25454 */
rtx
gen_avx512dq_broadcastv4di_mask_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_VEC_DUPLICATE (V4DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25454 */
rtx
gen_avx512dq_broadcastv4df_mask_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_VEC_DUPLICATE (V4DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25467 */
rtx
gen_avx512cd_maskb_vec_dupv8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25467 */
rtx
gen_avx512cd_maskb_vec_dupv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V4DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25467 */
rtx
gen_avx512cd_maskb_vec_dupv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V2DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25478 */
rtx
gen_avx512cd_maskw_vec_dupv16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V16SImode,
	gen_rtx_ZERO_EXTEND (SImode,
	operand1)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25478 */
rtx
gen_avx512cd_maskw_vec_dupv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8SImode,
	gen_rtx_ZERO_EXTEND (SImode,
	operand1)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25478 */
rtx
gen_avx512cd_maskw_vec_dupv4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V4SImode,
	gen_rtx_ZERO_EXTEND (SImode,
	operand1)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25489 */
rtx
gen_avx512f_vpermilvarv16sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	130));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25489 */
rtx
gen_avx512f_vpermilvarv16sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	130),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25489 */
rtx
gen_avx_vpermilvarv8sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	130));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25489 */
rtx
gen_avx_vpermilvarv8sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	130),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25489 */
rtx
gen_avx_vpermilvarv4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	130));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25489 */
rtx
gen_avx_vpermilvarv4sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	130),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25489 */
rtx
gen_avx512f_vpermilvarv8df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	130));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25489 */
rtx
gen_avx512f_vpermilvarv8df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	130),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25489 */
rtx
gen_avx_vpermilvarv4df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	130));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25489 */
rtx
gen_avx_vpermilvarv4df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	130),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25489 */
rtx
gen_avx_vpermilvarv2df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	130));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25489 */
rtx
gen_avx_vpermilvarv2df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	130),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512f_vpermt2varv16si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512f_vpermt2varv16si3_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512f_vpermt2varv16sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512f_vpermt2varv16sf3_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512f_vpermt2varv8di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512f_vpermt2varv8di3_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512f_vpermt2varv8df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512f_vpermt2varv8df3_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv8si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv8si3_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv8sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv8sf3_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv4di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv4di3_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv4df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv4df3_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv4si3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv4si3_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv4sf3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv4sf3_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv2di3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv2di3_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv2df3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv2df3_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512bw_vpermt2varv32hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512bw_vpermt2varv32hi3_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv16hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv16hi3_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv8hi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv8hi3_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512bw_vpermt2varv64qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512bw_vpermt2varv64qi3_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv32qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv32qi3_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv16qi3 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25585 */
rtx
gen_avx512vl_vpermt2varv16qi3_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25600 */
rtx
gen_avx512f_vpermt2varv16si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand2,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25600 */
rtx
gen_avx512f_vpermt2varv16sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand2,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25600 */
rtx
gen_avx512f_vpermt2varv8di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand2,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25600 */
rtx
gen_avx512f_vpermt2varv8df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand2,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25600 */
rtx
gen_avx512vl_vpermt2varv8si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand2,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25600 */
rtx
gen_avx512vl_vpermt2varv8sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand2,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25600 */
rtx
gen_avx512vl_vpermt2varv4di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand2,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25600 */
rtx
gen_avx512vl_vpermt2varv4df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand2,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25600 */
rtx
gen_avx512vl_vpermt2varv4si3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand2,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25600 */
rtx
gen_avx512vl_vpermt2varv4sf3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand2,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25600 */
rtx
gen_avx512vl_vpermt2varv2di3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand2,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25600 */
rtx
gen_avx512vl_vpermt2varv2df3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand2,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25600 */
rtx
gen_avx512bw_vpermt2varv32hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand2,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25600 */
rtx
gen_avx512vl_vpermt2varv16hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand2,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25600 */
rtx
gen_avx512vl_vpermt2varv8hi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand2,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25600 */
rtx
gen_avx512bw_vpermt2varv64qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand2,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25600 */
rtx
gen_avx512vl_vpermt2varv32qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand2,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25600 */
rtx
gen_avx512vl_vpermt2varv16qi3_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	141),
	operand2,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25775 */
rtx
gen_vec_set_lo_v4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4DImode,
	operand2,
	gen_rtx_VEC_SELECT (V2DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25775 */
rtx
gen_vec_set_lo_v4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_VEC_CONCAT (V4DImode,
	operand2,
	gen_rtx_VEC_SELECT (V2DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25775 */
rtx
gen_vec_set_lo_v4df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4DFmode,
	operand2,
	gen_rtx_VEC_SELECT (V2DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25775 */
rtx
gen_vec_set_lo_v4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_VEC_CONCAT (V4DFmode,
	operand2,
	gen_rtx_VEC_SELECT (V2DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25797 */
rtx
gen_vec_set_hi_v4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4DImode,
	gen_rtx_VEC_SELECT (V2DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25797 */
rtx
gen_vec_set_hi_v4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_VEC_CONCAT (V4DImode,
	gen_rtx_VEC_SELECT (V2DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25797 */
rtx
gen_vec_set_hi_v4df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4DFmode,
	gen_rtx_VEC_SELECT (V2DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25797 */
rtx
gen_vec_set_hi_v4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_VEC_CONCAT (V4DFmode,
	gen_rtx_VEC_SELECT (V2DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25819 */
rtx
gen_vec_set_lo_v8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8SImode,
	operand2,
	gen_rtx_VEC_SELECT (V4SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25819 */
rtx
gen_vec_set_lo_v8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_VEC_CONCAT (V8SImode,
	operand2,
	gen_rtx_VEC_SELECT (V4SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25819 */
rtx
gen_vec_set_lo_v8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8SFmode,
	operand2,
	gen_rtx_VEC_SELECT (V4SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25819 */
rtx
gen_vec_set_lo_v8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_VEC_CONCAT (V8SFmode,
	operand2,
	gen_rtx_VEC_SELECT (V4SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25840 */
rtx
gen_vec_set_hi_v8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8SImode,
	gen_rtx_VEC_SELECT (V4SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25840 */
rtx
gen_vec_set_hi_v8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_VEC_CONCAT (V8SImode,
	gen_rtx_VEC_SELECT (V4SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25840 */
rtx
gen_vec_set_hi_v8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8SFmode,
	gen_rtx_VEC_SELECT (V4SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25840 */
rtx
gen_vec_set_hi_v8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_VEC_CONCAT (V8SFmode,
	gen_rtx_VEC_SELECT (V4SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25861 */
rtx
gen_vec_set_lo_v16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16HImode,
	operand2,
	gen_rtx_VEC_SELECT (V8HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25861 */
rtx
gen_vec_set_lo_v16hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16HFmode,
	operand2,
	gen_rtx_VEC_SELECT (V8HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25881 */
rtx
gen_vec_set_hi_v16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16HImode,
	gen_rtx_VEC_SELECT (V8HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25881 */
rtx
gen_vec_set_hi_v16hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16HFmode,
	gen_rtx_VEC_SELECT (V8HFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25901 */
rtx
gen_vec_set_lo_v32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V32QImode,
	operand2,
	gen_rtx_VEC_SELECT (V16QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const_int_rtx[MAX_SAVED_CONST_INT + (16)],
		const_int_rtx[MAX_SAVED_CONST_INT + (17)],
		const_int_rtx[MAX_SAVED_CONST_INT + (18)],
		const_int_rtx[MAX_SAVED_CONST_INT + (19)],
		const_int_rtx[MAX_SAVED_CONST_INT + (20)],
		const_int_rtx[MAX_SAVED_CONST_INT + (21)],
		const_int_rtx[MAX_SAVED_CONST_INT + (22)],
		const_int_rtx[MAX_SAVED_CONST_INT + (23)],
		const_int_rtx[MAX_SAVED_CONST_INT + (24)],
		const_int_rtx[MAX_SAVED_CONST_INT + (25)],
		const_int_rtx[MAX_SAVED_CONST_INT + (26)],
		const_int_rtx[MAX_SAVED_CONST_INT + (27)],
		const_int_rtx[MAX_SAVED_CONST_INT + (28)],
		const_int_rtx[MAX_SAVED_CONST_INT + (29)],
		const_int_rtx[MAX_SAVED_CONST_INT + (30)],
		const_int_rtx[MAX_SAVED_CONST_INT + (31)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25925 */
rtx
gen_vec_set_hi_v32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V32QImode,
	gen_rtx_VEC_SELECT (V16QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (16,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25949 */
rtx
gen_avx_maskloadps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand2,
		operand1),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25949 */
rtx
gen_avx_maskloadpd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand2,
		operand1),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25949 */
rtx
gen_avx_maskloadps256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand2,
		operand1),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25949 */
rtx
gen_avx_maskloadpd256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand2,
		operand1),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25949 */
rtx
gen_avx2_maskloadd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (2,
		operand2,
		operand1),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25949 */
rtx
gen_avx2_maskloadq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (2,
		operand2,
		operand1),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25949 */
rtx
gen_avx2_maskloadd256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		operand2,
		operand1),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25949 */
rtx
gen_avx2_maskloadq256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (2,
		operand2,
		operand1),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25963 */
rtx
gen_avx_maskstoreps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand0),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25963 */
rtx
gen_avx_maskstorepd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand0),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25963 */
rtx
gen_avx_maskstoreps256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand0),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25963 */
rtx
gen_avx_maskstorepd256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand0),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25963 */
rtx
gen_avx2_maskstored (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand0),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25963 */
rtx
gen_avx2_maskstoreq (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand0),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25963 */
rtx
gen_avx2_maskstored256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand0),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25963 */
rtx
gen_avx2_maskstoreq256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand0),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26033 */
rtx
gen_avx512f_storev16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26033 */
rtx
gen_avx512vl_storev8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26033 */
rtx
gen_avx512vl_storev4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26033 */
rtx
gen_avx512f_storev8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26033 */
rtx
gen_avx512vl_storev4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26033 */
rtx
gen_avx512vl_storev2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26033 */
rtx
gen_avx512f_storev16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26033 */
rtx
gen_avx512vl_storev8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26033 */
rtx
gen_avx512vl_storev4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26033 */
rtx
gen_avx512f_storev8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26033 */
rtx
gen_avx512vl_storev4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26033 */
rtx
gen_avx512vl_storev2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26062 */
rtx
gen_avx512bw_storev64qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26062 */
rtx
gen_avx512vl_storev16qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26062 */
rtx
gen_avx512vl_storev32qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26062 */
rtx
gen_avx512bw_storev32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26062 */
rtx
gen_avx512vl_storev16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26062 */
rtx
gen_avx512vl_storev8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26062 */
rtx
gen_avx512bw_storev32hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26062 */
rtx
gen_avx512vl_storev16hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26062 */
rtx
gen_avx512fp16_storev8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26093 */
rtx
gen_avx_si256_si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8SImode,
	operand1,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		const0_rtx),
	133)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26093 */
rtx
gen_avx_ps256_ps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8SFmode,
	operand1,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		const0_rtx),
	133)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26093 */
rtx
gen_avx_pd256_pd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4DFmode,
	operand1,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		const0_rtx),
	133)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26180 */
rtx
gen_avx2_ashrvv4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V4SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26180 */
rtx
gen_avx2_ashrvv4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_ASHIFTRT (V4SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26180 */
rtx
gen_avx2_ashrvv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V8SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26180 */
rtx
gen_avx2_ashrvv8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_ASHIFTRT (V8SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26180 */
rtx
gen_avx512f_ashrvv16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V16SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26180 */
rtx
gen_avx512f_ashrvv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_ASHIFTRT (V16SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26180 */
rtx
gen_avx2_ashrvv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V2DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26180 */
rtx
gen_avx2_ashrvv2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_ASHIFTRT (V2DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26180 */
rtx
gen_avx2_ashrvv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V4DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26180 */
rtx
gen_avx2_ashrvv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_ASHIFTRT (V4DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26180 */
rtx
gen_avx512f_ashrvv8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V8DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26180 */
rtx
gen_avx512f_ashrvv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_ASHIFTRT (V8DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26191 */
rtx
gen_avx512vl_ashrvv8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V8HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26191 */
rtx
gen_avx512vl_ashrvv8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_ASHIFTRT (V8HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26191 */
rtx
gen_avx512vl_ashrvv16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V16HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26191 */
rtx
gen_avx512vl_ashrvv16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_ASHIFTRT (V16HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26191 */
rtx
gen_avx512bw_ashrvv32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V32HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26191 */
rtx
gen_avx512bw_ashrvv32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_ASHIFTRT (V32HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx512f_ashlvv16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V16SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx512f_ashlvv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_ASHIFT (V16SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx512f_lshrvv16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V16SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx512f_lshrvv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_LSHIFTRT (V16SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx2_ashlvv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V8SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx2_ashlvv8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_ASHIFT (V8SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx2_lshrvv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V8SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx2_lshrvv8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_LSHIFTRT (V8SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx2_ashlvv4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V4SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx2_ashlvv4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_ASHIFT (V4SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx2_lshrvv4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V4SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx2_lshrvv4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_LSHIFTRT (V4SImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx512f_ashlvv8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V8DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx512f_ashlvv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_ASHIFT (V8DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx512f_lshrvv8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V8DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx512f_lshrvv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_LSHIFTRT (V8DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx2_ashlvv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V4DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx2_ashlvv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_ASHIFT (V4DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx2_lshrvv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V4DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx2_lshrvv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_LSHIFTRT (V4DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx2_ashlvv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V2DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx2_ashlvv2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_ASHIFT (V2DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx2_lshrvv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V2DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26202 */
rtx
gen_avx2_lshrvv2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_LSHIFTRT (V2DImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26213 */
rtx
gen_avx512vl_ashlvv8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V8HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26213 */
rtx
gen_avx512vl_ashlvv8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_ASHIFT (V8HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26213 */
rtx
gen_avx512vl_lshrvv8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V8HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26213 */
rtx
gen_avx512vl_lshrvv8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_LSHIFTRT (V8HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26213 */
rtx
gen_avx512vl_ashlvv16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V16HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26213 */
rtx
gen_avx512vl_ashlvv16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_ASHIFT (V16HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26213 */
rtx
gen_avx512vl_lshrvv16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V16HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26213 */
rtx
gen_avx512vl_lshrvv16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_LSHIFTRT (V16HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26213 */
rtx
gen_avx512bw_ashlvv32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V32HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26213 */
rtx
gen_avx512bw_ashlvv32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_ASHIFT (V32HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26213 */
rtx
gen_avx512bw_lshrvv32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V32HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26213 */
rtx
gen_avx512bw_lshrvv32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_LSHIFTRT (V32HImode,
	operand1,
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26224 */
rtx
gen_avx_vec_concatv32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V32QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26224 */
rtx
gen_avx_vec_concatv16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26224 */
rtx
gen_avx_vec_concatv16hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16HFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26224 */
rtx
gen_avx_vec_concatv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26224 */
rtx
gen_avx_vec_concatv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26224 */
rtx
gen_avx_vec_concatv8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8SFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26224 */
rtx
gen_avx_vec_concatv4df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4DFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26224 */
rtx
gen_avx_vec_concatv64qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V64QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26224 */
rtx
gen_avx_vec_concatv32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V32HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26224 */
rtx
gen_avx_vec_concatv32hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V32HFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26224 */
rtx
gen_avx_vec_concatv16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26224 */
rtx
gen_avx_vec_concatv8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26224 */
rtx
gen_avx_vec_concatv16sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16SFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26224 */
rtx
gen_avx_vec_concatv8df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8DFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26345 */
rtx
gen_vcvtph2ps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (1,
		operand1),
	135),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26345 */
rtx
gen_vcvtph2ps_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_SELECT (V4SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (1,
		operand1),
	135),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26368 */
rtx
gen_vcvtph2ps256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (1,
		operand1),
	135));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26368 */
rtx
gen_vcvtph2ps256_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (1,
		operand1),
	135),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26379 */
rtx
gen_avx512f_vcvtph2ps512_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (1,
		operand1),
	135),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26379 */
rtx
gen_avx512f_vcvtph2ps512_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (1,
		operand1),
	135),
	operand2,
	operand3),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26437 */
rtx
gen_vcvtps2ph256 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	136));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26437 */
rtx
gen_vcvtps2ph256_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	136),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26461 */
rtx
gen_avx512f_vcvtps2ph512_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	136),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26890 */
rtx
gen_avx512f_compressv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	155));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26890 */
rtx
gen_avx512f_compressv16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	155));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26890 */
rtx
gen_avx512f_compressv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	155));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26890 */
rtx
gen_avx512f_compressv8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	155));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26890 */
rtx
gen_avx512vl_compressv8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	155));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26890 */
rtx
gen_avx512vl_compressv8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	155));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26890 */
rtx
gen_avx512vl_compressv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	155));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26890 */
rtx
gen_avx512vl_compressv4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	155));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26890 */
rtx
gen_avx512vl_compressv4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	155));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26890 */
rtx
gen_avx512vl_compressv4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	155));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26890 */
rtx
gen_avx512vl_compressv2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	155));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26890 */
rtx
gen_avx512vl_compressv2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	155));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26903 */
rtx
gen_compressv64qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	155));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26903 */
rtx
gen_compressv16qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	155));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26903 */
rtx
gen_compressv32qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	155));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26903 */
rtx
gen_compressv32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	155));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26903 */
rtx
gen_compressv16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	155));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26903 */
rtx
gen_compressv8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	155));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26916 */
rtx
gen_avx512f_compressstorev16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	156));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26916 */
rtx
gen_avx512f_compressstorev16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	156));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26916 */
rtx
gen_avx512f_compressstorev8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	156));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26916 */
rtx
gen_avx512f_compressstorev8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	156));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26916 */
rtx
gen_avx512vl_compressstorev8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	156));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26916 */
rtx
gen_avx512vl_compressstorev8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	156));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26916 */
rtx
gen_avx512vl_compressstorev4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	156));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26916 */
rtx
gen_avx512vl_compressstorev4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	156));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26916 */
rtx
gen_avx512vl_compressstorev4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	156));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26916 */
rtx
gen_avx512vl_compressstorev4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	156));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26916 */
rtx
gen_avx512vl_compressstorev2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	156));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26916 */
rtx
gen_avx512vl_compressstorev2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	156));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26930 */
rtx
gen_compressstorev64qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	156));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26930 */
rtx
gen_compressstorev16qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	156));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26930 */
rtx
gen_compressstorev32qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	156));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26930 */
rtx
gen_compressstorev32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	156));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26930 */
rtx
gen_compressstorev16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	156));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26930 */
rtx
gen_compressstorev8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	156));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26954 */
rtx
gen_expandv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26954 */
rtx
gen_expandv16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26954 */
rtx
gen_expandv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26954 */
rtx
gen_expandv8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26954 */
rtx
gen_expandv8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26954 */
rtx
gen_expandv8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26954 */
rtx
gen_expandv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26954 */
rtx
gen_expandv4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26954 */
rtx
gen_expandv4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26954 */
rtx
gen_expandv4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26954 */
rtx
gen_expandv2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26954 */
rtx
gen_expandv2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26968 */
rtx
gen_expandv64qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26968 */
rtx
gen_expandv16qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26968 */
rtx
gen_expandv32qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26968 */
rtx
gen_expandv32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26968 */
rtx
gen_expandv16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26968 */
rtx
gen_expandv8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27048 */
rtx
gen_avx512dq_rangepv16sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27048 */
rtx
gen_avx512dq_rangepv16sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27048 */
rtx
gen_avx512dq_rangepv16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27048 */
rtx
gen_avx512dq_rangepv16sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183),
	operand4,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27048 */
rtx
gen_avx512dq_rangepv8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27048 */
rtx
gen_avx512dq_rangepv8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27048 */
rtx
gen_avx512dq_rangepv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27048 */
rtx
gen_avx512dq_rangepv4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27048 */
rtx
gen_avx512dq_rangepv8df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27048 */
rtx
gen_avx512dq_rangepv8df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27048 */
rtx
gen_avx512dq_rangepv8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27048 */
rtx
gen_avx512dq_rangepv8df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183),
	operand4,
	operand5),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27048 */
rtx
gen_avx512dq_rangepv4df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27048 */
rtx
gen_avx512dq_rangepv4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27048 */
rtx
gen_avx512dq_rangepv2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27048 */
rtx
gen_avx512dq_rangepv2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27068 */
rtx
gen_avx512dq_rangesv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27068 */
rtx
gen_avx512dq_rangesv4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183),
	operand4,
	operand5),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27068 */
rtx
gen_avx512dq_rangesv4sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27068 */
rtx
gen_avx512dq_rangesv4sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183),
	operand4,
	operand5),
	operand1,
	const1_rtx),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27068 */
rtx
gen_avx512dq_rangesv2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27068 */
rtx
gen_avx512dq_rangesv2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183),
	operand4,
	operand5),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27068 */
rtx
gen_avx512dq_rangesv2df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27068 */
rtx
gen_avx512dq_rangesv2df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	183),
	operand4,
	operand5),
	operand1,
	const1_rtx),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27091 */
rtx
gen_avx512dq_fpclassv32hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27091 */
rtx
gen_avx512dq_fpclassv32hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27091 */
rtx
gen_avx512dq_fpclassv16hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27091 */
rtx
gen_avx512dq_fpclassv16hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27091 */
rtx
gen_avx512dq_fpclassv8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27091 */
rtx
gen_avx512dq_fpclassv8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27091 */
rtx
gen_avx512dq_fpclassv16sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27091 */
rtx
gen_avx512dq_fpclassv16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27091 */
rtx
gen_avx512dq_fpclassv8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27091 */
rtx
gen_avx512dq_fpclassv8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27091 */
rtx
gen_avx512dq_fpclassv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27091 */
rtx
gen_avx512dq_fpclassv4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27091 */
rtx
gen_avx512dq_fpclassv8df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27091 */
rtx
gen_avx512dq_fpclassv8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27091 */
rtx
gen_avx512dq_fpclassv4df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27091 */
rtx
gen_avx512dq_fpclassv4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27091 */
rtx
gen_avx512dq_fpclassv2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27091 */
rtx
gen_avx512dq_fpclassv2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27104 */
rtx
gen_avx512dq_vmfpclassv8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182),
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27104 */
rtx
gen_avx512dq_vmfpclassv8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182),
	const1_rtx),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27104 */
rtx
gen_avx512dq_vmfpclassv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182),
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27104 */
rtx
gen_avx512dq_vmfpclassv4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182),
	const1_rtx),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27104 */
rtx
gen_avx512dq_vmfpclassv2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182),
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27104 */
rtx
gen_avx512dq_vmfpclassv2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	182),
	const1_rtx),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512bw_getmantv32hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512bw_getmantv32hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512bw_getmantv32hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512bw_getmantv32hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512vl_getmantv16hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512vl_getmantv16hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512vl_getmantv16hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512vl_getmantv16hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512fp16_getmantv8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512fp16_getmantv8hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512fp16_getmantv8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512fp16_getmantv8hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512f_getmantv16sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512f_getmantv16sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512f_getmantv16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512f_getmantv16sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512vl_getmantv8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512vl_getmantv8sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512vl_getmantv8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512vl_getmantv8sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512vl_getmantv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512vl_getmantv4sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512vl_getmantv4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512vl_getmantv4sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512f_getmantv8df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512f_getmantv8df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512f_getmantv8df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512f_getmantv8df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512vl_getmantv4df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512vl_getmantv4df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512vl_getmantv4df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512vl_getmantv4df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512vl_getmantv2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512vl_getmantv2df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
		operand3),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512vl_getmantv2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27119 */
rtx
gen_avx512vl_getmantv2df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	152),
	operand3,
	operand4),
		operand5),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27136 */
rtx
gen_avx512f_vgetmantv8hf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	152),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27136 */
rtx
gen_avx512f_vgetmantv8hf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	152),
	operand4,
	operand5),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27136 */
rtx
gen_avx512f_vgetmantv8hf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	152),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27136 */
rtx
gen_avx512f_vgetmantv8hf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	152),
	operand4,
	operand5),
	operand1,
	const1_rtx),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27136 */
rtx
gen_avx512f_vgetmantv4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	152),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27136 */
rtx
gen_avx512f_vgetmantv4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	152),
	operand4,
	operand5),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27136 */
rtx
gen_avx512f_vgetmantv4sf_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	152),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27136 */
rtx
gen_avx512f_vgetmantv4sf_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	152),
	operand4,
	operand5),
	operand1,
	const1_rtx),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27136 */
rtx
gen_avx512f_vgetmantv2df (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	152),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27136 */
rtx
gen_avx512f_vgetmantv2df_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	152),
	operand4,
	operand5),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27136 */
rtx
gen_avx512f_vgetmantv2df_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	152),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27136 */
rtx
gen_avx512f_vgetmantv2df_mask_round (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED,
	rtx operand6 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	152),
	operand4,
	operand5),
	operand1,
	const1_rtx),
		operand6),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27160 */
rtx
gen_avx512bw_dbpsadbwv8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	175),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27160 */
rtx
gen_avx512bw_dbpsadbwv16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	175),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27160 */
rtx
gen_avx512bw_dbpsadbwv32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	175),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27174 */
rtx
gen_clzv16si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_CLZ (V16SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27174 */
rtx
gen_clzv16si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_CLZ (V16SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27174 */
rtx
gen_clzv8si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_CLZ (V8SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27174 */
rtx
gen_clzv8si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_CLZ (V8SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27174 */
rtx
gen_clzv4si2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_CLZ (V4SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27174 */
rtx
gen_clzv4si2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_CLZ (V4SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27174 */
rtx
gen_clzv8di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_CLZ (V8DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27174 */
rtx
gen_clzv8di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_CLZ (V8DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27174 */
rtx
gen_clzv4di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_CLZ (V4DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27174 */
rtx
gen_clzv4di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_CLZ (V4DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27174 */
rtx
gen_clzv2di2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_CLZ (V2DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27174 */
rtx
gen_clzv2di2_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_CLZ (V2DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27184 */
rtx
gen_conflictv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (1,
		operand1),
	154),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27184 */
rtx
gen_conflictv8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	154),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27184 */
rtx
gen_conflictv4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	154),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27184 */
rtx
gen_conflictv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	154),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27184 */
rtx
gen_conflictv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (1,
		operand1),
	154),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27184 */
rtx
gen_conflictv2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (1,
		operand1),
	154),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27195 */
rtx
gen_sha1msg1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	168));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27206 */
rtx
gen_sha1msg2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	169));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27217 */
rtx
gen_sha1nexte (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	170));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27228 */
rtx
gen_sha1rnds4 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	171));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27241 */
rtx
gen_sha256msg1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	172));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27252 */
rtx
gen_sha256msg2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	173));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27263 */
rtx
gen_sha256rnds2 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	174));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27276 */
rtx
gen_avx512f_si512_si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16SImode,
	gen_rtx_VEC_CONCAT (V8SImode,
	operand1,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		const0_rtx),
	133)),
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		const0_rtx),
	133)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27276 */
rtx
gen_avx512f_ps512_ps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16SFmode,
	gen_rtx_VEC_CONCAT (V8SFmode,
	operand1,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		const0_rtx),
	133)),
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (1,
		const0_rtx),
	133)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27276 */
rtx
gen_avx512f_pd512_pd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8DFmode,
	gen_rtx_VEC_CONCAT (V4DFmode,
	operand1,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		const0_rtx),
	133)),
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (1,
		const0_rtx),
	133)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27295 */
rtx
gen_avx512f_si512_256si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16SImode,
	operand1,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		const0_rtx),
	133)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27295 */
rtx
gen_avx512f_ps512_256ps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16SFmode,
	operand1,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (1,
		const0_rtx),
	133)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27295 */
rtx
gen_avx512f_pd512_256pd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8DFmode,
	operand1,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (1,
		const0_rtx),
	133)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27347 */
rtx
gen_vpamdd52luqv8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	184));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27347 */
rtx
gen_vpamdd52luqv8di_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	184),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27347 */
rtx
gen_vpamdd52huqv8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	185));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27347 */
rtx
gen_vpamdd52huqv8di_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	185),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27347 */
rtx
gen_vpamdd52luqv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	184));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27347 */
rtx
gen_vpamdd52luqv4di_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	184),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27347 */
rtx
gen_vpamdd52huqv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	185));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27347 */
rtx
gen_vpamdd52huqv4di_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	185),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27347 */
rtx
gen_vpamdd52luqv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	184));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27347 */
rtx
gen_vpamdd52luqv2di_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	184),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27347 */
rtx
gen_vpamdd52huqv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	185));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27347 */
rtx
gen_vpamdd52huqv2di_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	185),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27360 */
rtx
gen_vpamdd52luqv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	184),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27360 */
rtx
gen_vpamdd52huqv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	185),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27360 */
rtx
gen_vpamdd52luqv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	184),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27360 */
rtx
gen_vpamdd52huqv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	185),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27360 */
rtx
gen_vpamdd52luqv2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	184),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27360 */
rtx
gen_vpamdd52huqv2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	185),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27376 */
rtx
gen_vpmultishiftqbv64qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	186));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27376 */
rtx
gen_vpmultishiftqbv64qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	186),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27376 */
rtx
gen_vpmultishiftqbv16qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	186));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27376 */
rtx
gen_vpmultishiftqbv16qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	186),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27376 */
rtx
gen_vpmultishiftqbv32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	186));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27376 */
rtx
gen_vpmultishiftqbv32qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	186),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27427 */
rtx
gen_avx5124fmaddps_4fmaddps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	187));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27439 */
rtx
gen_avx5124fmaddps_4fmaddps_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	187),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27453 */
rtx
gen_avx5124fmaddps_4fmaddps_maskz (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	187),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27468 */
rtx
gen_avx5124fmaddps_4fmaddss (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	187));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27480 */
rtx
gen_avx5124fmaddps_4fmaddss_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	187),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27494 */
rtx
gen_avx5124fmaddps_4fmaddss_maskz (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	187),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27509 */
rtx
gen_avx5124fmaddps_4fnmaddps (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	188));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27521 */
rtx
gen_avx5124fmaddps_4fnmaddps_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	188),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27535 */
rtx
gen_avx5124fmaddps_4fnmaddps_maskz (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	188),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27550 */
rtx
gen_avx5124fmaddps_4fnmaddss (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	188));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27562 */
rtx
gen_avx5124fmaddps_4fnmaddss_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	188),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27576 */
rtx
gen_avx5124fmaddps_4fnmaddss_maskz (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	188),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27591 */
rtx
gen_avx5124vnniw_vp4dpwssd (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	189));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27603 */
rtx
gen_avx5124vnniw_vp4dpwssd_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	189),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27617 */
rtx
gen_avx5124vnniw_vp4dpwssd_maskz (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	189),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27632 */
rtx
gen_avx5124vnniw_vp4dpwssds (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	190));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27644 */
rtx
gen_avx5124vnniw_vp4dpwssds_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	190),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27658 */
rtx
gen_avx5124vnniw_vp4dpwssds_maskz (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	190),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27679 */
rtx
gen_vpopcountv16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V16SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27679 */
rtx
gen_vpopcountv16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_POPCOUNT (V16SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27679 */
rtx
gen_vpopcountv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V8SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27679 */
rtx
gen_vpopcountv8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_POPCOUNT (V8SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27679 */
rtx
gen_vpopcountv4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V4SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27679 */
rtx
gen_vpopcountv4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_POPCOUNT (V4SImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27679 */
rtx
gen_vpopcountv8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V8DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27679 */
rtx
gen_vpopcountv8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_POPCOUNT (V8DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27679 */
rtx
gen_vpopcountv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V4DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27679 */
rtx
gen_vpopcountv4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_POPCOUNT (V4DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27679 */
rtx
gen_vpopcountv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V2DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27679 */
rtx
gen_vpopcountv2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_POPCOUNT (V2DImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27729 */
rtx
gen_vpopcountv64qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V64QImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27729 */
rtx
gen_vpopcountv64qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_POPCOUNT (V64QImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27729 */
rtx
gen_vpopcountv16qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V16QImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27729 */
rtx
gen_vpopcountv16qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_POPCOUNT (V16QImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27729 */
rtx
gen_vpopcountv32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V32QImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27729 */
rtx
gen_vpopcountv32qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_POPCOUNT (V32QImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27729 */
rtx
gen_vpopcountv32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V32HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27729 */
rtx
gen_vpopcountv32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_POPCOUNT (V32HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27729 */
rtx
gen_vpopcountv16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V16HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27729 */
rtx
gen_vpopcountv16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_POPCOUNT (V16HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27729 */
rtx
gen_vpopcountv8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V8HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27729 */
rtx
gen_vpopcountv8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_POPCOUNT (V8HImode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27736 */
rtx
gen_vgf2p8affineinvqb_v64qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	191));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27736 */
rtx
gen_vgf2p8affineinvqb_v64qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	191),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27736 */
rtx
gen_vgf2p8affineinvqb_v32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	191));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27736 */
rtx
gen_vgf2p8affineinvqb_v32qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	191),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27736 */
rtx
gen_vgf2p8affineinvqb_v16qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	191));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27736 */
rtx
gen_vgf2p8affineinvqb_v16qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	191),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27753 */
rtx
gen_vgf2p8affineqb_v64qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	192));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27753 */
rtx
gen_vgf2p8affineqb_v64qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	192),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27753 */
rtx
gen_vgf2p8affineqb_v32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	192));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27753 */
rtx
gen_vgf2p8affineqb_v32qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	192),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27753 */
rtx
gen_vgf2p8affineqb_v16qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	192));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27753 */
rtx
gen_vgf2p8affineqb_v16qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	192),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27770 */
rtx
gen_vgf2p8mulb_v64qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	193));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27770 */
rtx
gen_vgf2p8mulb_v64qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	193),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27770 */
rtx
gen_vgf2p8mulb_v32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	193));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27770 */
rtx
gen_vgf2p8mulb_v32qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	193),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27770 */
rtx
gen_vgf2p8mulb_v16qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	193));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27770 */
rtx
gen_vgf2p8mulb_v16qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	193),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27786 */
rtx
gen_vpshrd_v32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	195));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27786 */
rtx
gen_vpshrd_v32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	195),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27786 */
rtx
gen_vpshrd_v16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	195));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27786 */
rtx
gen_vpshrd_v16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	195),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27786 */
rtx
gen_vpshrd_v8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	195));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27786 */
rtx
gen_vpshrd_v8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	195),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27786 */
rtx
gen_vpshrd_v16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	195));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27786 */
rtx
gen_vpshrd_v16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	195),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27786 */
rtx
gen_vpshrd_v8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	195));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27786 */
rtx
gen_vpshrd_v8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	195),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27786 */
rtx
gen_vpshrd_v4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	195));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27786 */
rtx
gen_vpshrd_v4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	195),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27786 */
rtx
gen_vpshrd_v8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	195));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27786 */
rtx
gen_vpshrd_v8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	195),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27786 */
rtx
gen_vpshrd_v4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	195));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27786 */
rtx
gen_vpshrd_v4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	195),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27786 */
rtx
gen_vpshrd_v2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	195));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27786 */
rtx
gen_vpshrd_v2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	195),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27797 */
rtx
gen_vpshld_v32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	194));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27797 */
rtx
gen_vpshld_v32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	194),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27797 */
rtx
gen_vpshld_v16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	194));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27797 */
rtx
gen_vpshld_v16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	194),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27797 */
rtx
gen_vpshld_v8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	194));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27797 */
rtx
gen_vpshld_v8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	194),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27797 */
rtx
gen_vpshld_v16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	194));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27797 */
rtx
gen_vpshld_v16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	194),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27797 */
rtx
gen_vpshld_v8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	194));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27797 */
rtx
gen_vpshld_v8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	194),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27797 */
rtx
gen_vpshld_v4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	194));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27797 */
rtx
gen_vpshld_v4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	194),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27797 */
rtx
gen_vpshld_v8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	194));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27797 */
rtx
gen_vpshld_v8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	194),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27797 */
rtx
gen_vpshld_v4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	194));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27797 */
rtx
gen_vpshld_v4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	194),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27797 */
rtx
gen_vpshld_v2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	194));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27797 */
rtx
gen_vpshld_v2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	194),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27808 */
rtx
gen_vpshrdv_v32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27808 */
rtx
gen_vpshrdv_v16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27808 */
rtx
gen_vpshrdv_v8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27808 */
rtx
gen_vpshrdv_v16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27808 */
rtx
gen_vpshrdv_v8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27808 */
rtx
gen_vpshrdv_v4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27808 */
rtx
gen_vpshrdv_v8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27808 */
rtx
gen_vpshrdv_v4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27808 */
rtx
gen_vpshrdv_v2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27820 */
rtx
gen_vpshrdv_v32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27820 */
rtx
gen_vpshrdv_v16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27820 */
rtx
gen_vpshrdv_v8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27820 */
rtx
gen_vpshrdv_v16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27820 */
rtx
gen_vpshrdv_v8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27820 */
rtx
gen_vpshrdv_v4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27820 */
rtx
gen_vpshrdv_v8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27820 */
rtx
gen_vpshrdv_v4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27820 */
rtx
gen_vpshrdv_v2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27850 */
rtx
gen_vpshrdv_v32hi_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27850 */
rtx
gen_vpshrdv_v16si_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27850 */
rtx
gen_vpshrdv_v8di_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27850 */
rtx
gen_vpshrdv_v16hi_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27850 */
rtx
gen_vpshrdv_v8si_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27850 */
rtx
gen_vpshrdv_v4di_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27850 */
rtx
gen_vpshrdv_v8hi_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27850 */
rtx
gen_vpshrdv_v4si_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27850 */
rtx
gen_vpshrdv_v2di_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	196),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27865 */
rtx
gen_vpshldv_v32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27865 */
rtx
gen_vpshldv_v16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27865 */
rtx
gen_vpshldv_v8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27865 */
rtx
gen_vpshldv_v16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27865 */
rtx
gen_vpshldv_v8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27865 */
rtx
gen_vpshldv_v4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27865 */
rtx
gen_vpshldv_v8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27865 */
rtx
gen_vpshldv_v4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27865 */
rtx
gen_vpshldv_v2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27877 */
rtx
gen_vpshldv_v32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27877 */
rtx
gen_vpshldv_v16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27877 */
rtx
gen_vpshldv_v8di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27877 */
rtx
gen_vpshldv_v16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27877 */
rtx
gen_vpshldv_v8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27877 */
rtx
gen_vpshldv_v4di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27877 */
rtx
gen_vpshldv_v8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27877 */
rtx
gen_vpshldv_v4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27877 */
rtx
gen_vpshldv_v2di_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27907 */
rtx
gen_vpshldv_v32hi_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27907 */
rtx
gen_vpshldv_v16si_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27907 */
rtx
gen_vpshldv_v8di_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27907 */
rtx
gen_vpshldv_v16hi_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27907 */
rtx
gen_vpshldv_v8si_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27907 */
rtx
gen_vpshldv_v4di_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27907 */
rtx
gen_vpshldv_v8hi_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27907 */
rtx
gen_vpshldv_v4si_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27907 */
rtx
gen_vpshldv_v2di_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	197),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27949 */
rtx
gen_vpdpbusd_v16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	198));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27960 */
rtx
gen_vpdpbusd_v8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	198));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27960 */
rtx
gen_vpdpbusd_v4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	198));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27974 */
rtx
gen_vpdpbusd_v16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	198),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27974 */
rtx
gen_vpdpbusd_v8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	198),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27974 */
rtx
gen_vpdpbusd_v4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	198),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28003 */
rtx
gen_vpdpbusd_v16si_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	198),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28003 */
rtx
gen_vpdpbusd_v8si_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	198),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28003 */
rtx
gen_vpdpbusd_v4si_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	198),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28017 */
rtx
gen_vpdpbusds_v16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	199));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28028 */
rtx
gen_vpdpbusds_v8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	199));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28028 */
rtx
gen_vpdpbusds_v4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	199));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28042 */
rtx
gen_vpdpbusds_v16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	199),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28042 */
rtx
gen_vpdpbusds_v8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	199),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28042 */
rtx
gen_vpdpbusds_v4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	199),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28071 */
rtx
gen_vpdpbusds_v16si_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	199),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28071 */
rtx
gen_vpdpbusds_v8si_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	199),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28071 */
rtx
gen_vpdpbusds_v4si_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	199),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28085 */
rtx
gen_vpdpwssd_v16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	200));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28096 */
rtx
gen_vpdpwssd_v8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	200));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28096 */
rtx
gen_vpdpwssd_v4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	200));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28110 */
rtx
gen_vpdpwssd_v16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	200),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28110 */
rtx
gen_vpdpwssd_v8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	200),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28110 */
rtx
gen_vpdpwssd_v4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	200),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28139 */
rtx
gen_vpdpwssd_v16si_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	200),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28139 */
rtx
gen_vpdpwssd_v8si_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	200),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28139 */
rtx
gen_vpdpwssd_v4si_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	200),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28153 */
rtx
gen_vpdpwssds_v16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	201));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28164 */
rtx
gen_vpdpwssds_v8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	201));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28164 */
rtx
gen_vpdpwssds_v4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	201));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28178 */
rtx
gen_vpdpwssds_v16si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	201),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28178 */
rtx
gen_vpdpwssds_v8si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	201),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28178 */
rtx
gen_vpdpwssds_v4si_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	201),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28207 */
rtx
gen_vpdpwssds_v16si_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	201),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28207 */
rtx
gen_vpdpwssds_v8si_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	201),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28207 */
rtx
gen_vpdpwssds_v4si_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	201),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28221 */
rtx
gen_vaesdec_v32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	202));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28221 */
rtx
gen_vaesdec_v16qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	202));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28221 */
rtx
gen_vaesdec_v64qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	202));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28231 */
rtx
gen_vaesdeclast_v32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	203));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28231 */
rtx
gen_vaesdeclast_v16qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	203));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28231 */
rtx
gen_vaesdeclast_v64qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	203));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28241 */
rtx
gen_vaesenc_v32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	204));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28241 */
rtx
gen_vaesenc_v16qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	204));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28241 */
rtx
gen_vaesenc_v64qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	204));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28251 */
rtx
gen_vaesenclast_v32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	205));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28251 */
rtx
gen_vaesenclast_v16qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	205));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28251 */
rtx
gen_vaesenclast_v64qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	205));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28261 */
rtx
gen_vpclmulqdq_v8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	206));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28261 */
rtx
gen_vpclmulqdq_v4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	206));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28261 */
rtx
gen_vpclmulqdq_v2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	206));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28271 */
rtx
gen_avx512vl_vpshufbitqmbv64qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	207));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28271 */
rtx
gen_avx512vl_vpshufbitqmbv64qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (DImode,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	207),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28271 */
rtx
gen_avx512vl_vpshufbitqmbv32qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	207));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28271 */
rtx
gen_avx512vl_vpshufbitqmbv32qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	207),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28271 */
rtx
gen_avx512vl_vpshufbitqmbv16qi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	207));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28271 */
rtx
gen_avx512vl_vpshufbitqmbv16qi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	207),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28311 */
rtx
gen_avx512vp2intersect_2intersectv8di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (P2QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	208));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28311 */
rtx
gen_avx512vp2intersect_2intersectv4di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (P2QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	208));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28311 */
rtx
gen_avx512vp2intersect_2intersectv2di (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (P2QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	208));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28311 */
rtx
gen_avx512vp2intersect_2intersectv8si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (P2QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	208));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28311 */
rtx
gen_avx512vp2intersect_2intersectv4si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (P2QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	208));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28321 */
rtx
gen_avx512vp2intersect_2intersectv16si (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (P2HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	208));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28353 */
rtx
gen_avx512f_cvtne2ps2bf16_v32hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	209));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28353 */
rtx
gen_avx512f_cvtne2ps2bf16_v32hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	209),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28353 */
rtx
gen_avx512f_cvtne2ps2bf16_v16hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	209));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28353 */
rtx
gen_avx512f_cvtne2ps2bf16_v16hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	209),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28353 */
rtx
gen_avx512f_cvtne2ps2bf16_v8hi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	209));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28353 */
rtx
gen_avx512f_cvtne2ps2bf16_v8hi_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	209),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28373 */
rtx
gen_avx512f_cvtneps2bf16_v16sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (1,
		operand1),
	210));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28373 */
rtx
gen_avx512f_cvtneps2bf16_v16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (1,
		operand1),
	210),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28373 */
rtx
gen_avx512f_cvtneps2bf16_v8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (1,
		operand1),
	210));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28373 */
rtx
gen_avx512f_cvtneps2bf16_v8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (1,
		operand1),
	210),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28373 */
rtx
gen_avx512f_cvtneps2bf16_v4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (1,
		operand1),
	210));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28373 */
rtx
gen_avx512f_cvtneps2bf16_v4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (1,
		operand1),
	210),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28394 */
rtx
gen_avx512f_dpbf16ps_v16sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	211));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28394 */
rtx
gen_avx512f_dpbf16ps_v16sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	211),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28394 */
rtx
gen_avx512f_dpbf16ps_v8sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	211));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28394 */
rtx
gen_avx512f_dpbf16ps_v8sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	211),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28394 */
rtx
gen_avx512f_dpbf16ps_v4sf (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	211));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28394 */
rtx
gen_avx512f_dpbf16ps_v4sf_maskz_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	211),
	operand4,
	operand5));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28404 */
rtx
gen_avx512f_dpbf16ps_v16sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	211),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28404 */
rtx
gen_avx512f_dpbf16ps_v8sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	211),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28404 */
rtx
gen_avx512f_dpbf16ps_v4sf_mask (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	211),
	operand1,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28418 */
rtx
gen_loadiwkey (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_UNSPEC_VOLATILE (V2DImode,
	gen_rtvec (4,
		operand0,
		operand1,
		operand2,
		operand3),
	94),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28552 */
rtx
gen_aesdec128klu8 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (V2DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	95)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (2,
		copy_rtx (operand1),
		copy_rtx (operand2)),
	95))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28552 */
rtx
gen_aesdec256klu8 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (V2DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	97)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (2,
		copy_rtx (operand1),
		copy_rtx (operand2)),
	97))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28552 */
rtx
gen_aesenc128klu8 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (V2DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	96)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (2,
		copy_rtx (operand1),
		copy_rtx (operand2)),
	96))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28552 */
rtx
gen_aesenc256klu8 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (V2DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	98)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (2,
		copy_rtx (operand1),
		copy_rtx (operand2)),
	98))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:89 */
rtx
gen_mfence_sse2 (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (BLKmode,
	gen_rtvec (1,
		operand0),
	221));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:99 */
rtx
gen_mfence_nosse (rtx operand0 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (BLKmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	221)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:184 */
rtx
gen_atomic_loaddi_fpu (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	226)),
		gen_rtx_CLOBBER (VOIDmode,
	operand2),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (DFmode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:265 */
rtx
gen_atomic_storeqi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	227));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:265 */
rtx
gen_atomic_storehi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	227));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:265 */
rtx
gen_atomic_storesi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	227));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:265 */
rtx
gen_atomic_storedi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	227));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:273 */
rtx
gen_atomic_storedi_fpu (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	227)),
		gen_rtx_CLOBBER (VOIDmode,
	operand2),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (DFmode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:316 */
rtx
gen_loaddi_via_fpu (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DFmode,
	gen_rtvec (1,
		operand1),
	222));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:326 */
rtx
gen_storedi_via_fpu (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	223));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:339 */
rtx
gen_loaddi_via_sse (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DFmode,
	gen_rtvec (1,
		operand1),
	224));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:352 */
rtx
gen_storedi_via_sse (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	225));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:447 */
rtx
gen_atomic_compare_and_swapdi_doubleword (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (5,
		operand1,
		operand2,
		operand3,
		operand4,
		operand5),
	105)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		const0_rtx),
	105)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (1,
		const0_rtx),
	105))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:447 */
rtx
gen_atomic_compare_and_swapti_doubleword (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED,
	rtx operand5 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (TImode,
	gen_rtvec (5,
		operand1,
		operand2,
		operand3,
		operand4,
		operand5),
	105)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_UNSPEC_VOLATILE (TImode,
	gen_rtvec (1,
		const0_rtx),
	105)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (1,
		const0_rtx),
	105))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:463 */
rtx
gen_atomic_compare_and_swapqi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	105)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (1,
		const0_rtx),
	105)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (1,
		const0_rtx),
	105))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:463 */
rtx
gen_atomic_compare_and_swaphi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	105)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (1,
		const0_rtx),
	105)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (1,
		const0_rtx),
	105))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:463 */
rtx
gen_atomic_compare_and_swapsi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	105)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (1,
		const0_rtx),
	105)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (1,
		const0_rtx),
	105))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:463 */
rtx
gen_atomic_compare_and_swapdi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED,
	rtx operand4 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (4,
		operand1,
		operand2,
		operand3,
		operand4),
	105)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		const0_rtx),
	105)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (1,
		const0_rtx),
	105))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:667 */
rtx
gen_atomic_fetch_addqi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (2,
		operand1,
		operand3),
	106)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_PLUS (QImode,
	copy_rtx (operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:667 */
rtx
gen_atomic_fetch_addhi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (2,
		operand1,
		operand3),
	106)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_PLUS (HImode,
	copy_rtx (operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:667 */
rtx
gen_atomic_fetch_addsi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (2,
		operand1,
		operand3),
	106)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_PLUS (SImode,
	copy_rtx (operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:667 */
rtx
gen_atomic_fetch_adddi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (2,
		operand1,
		operand3),
	106)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_PLUS (DImode,
	copy_rtx (operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:774 */
rtx
gen_atomic_exchangeqi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (2,
		operand1,
		operand3),
	106)),
		gen_rtx_SET (copy_rtx (operand1),
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:774 */
rtx
gen_atomic_exchangehi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (2,
		operand1,
		operand3),
	106)),
		gen_rtx_SET (copy_rtx (operand1),
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:774 */
rtx
gen_atomic_exchangesi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (2,
		operand1,
		operand3),
	106)),
		gen_rtx_SET (copy_rtx (operand1),
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:774 */
rtx
gen_atomic_exchangedi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED,
	rtx operand3 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (2,
		operand1,
		operand3),
	106)),
		gen_rtx_SET (copy_rtx (operand1),
	operand2)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:785 */
rtx
gen_atomic_addqi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (2,
		gen_rtx_PLUS (QImode,
	copy_rtx (operand0),
	operand1),
		operand2),
	107)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:785 */
rtx
gen_atomic_addhi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (2,
		gen_rtx_PLUS (HImode,
	copy_rtx (operand0),
	operand1),
		operand2),
	107)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:785 */
rtx
gen_atomic_addsi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (2,
		gen_rtx_PLUS (SImode,
	copy_rtx (operand0),
	operand1),
		operand2),
	107)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:785 */
rtx
gen_atomic_adddi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (2,
		gen_rtx_PLUS (DImode,
	copy_rtx (operand0),
	operand1),
		operand2),
	107)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:812 */
rtx
gen_atomic_subqi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (2,
		gen_rtx_MINUS (QImode,
	copy_rtx (operand0),
	operand1),
		operand2),
	107)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:812 */
rtx
gen_atomic_subhi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (2,
		gen_rtx_MINUS (HImode,
	copy_rtx (operand0),
	operand1),
		operand2),
	107)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:812 */
rtx
gen_atomic_subsi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (2,
		gen_rtx_MINUS (SImode,
	copy_rtx (operand0),
	operand1),
		operand2),
	107)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:812 */
rtx
gen_atomic_subdi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (2,
		gen_rtx_MINUS (DImode,
	copy_rtx (operand0),
	operand1),
		operand2),
	107)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:839 */
rtx
gen_atomic_andqi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (2,
		gen_rtx_AND (QImode,
	copy_rtx (operand0),
	operand1),
		operand2),
	107)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:839 */
rtx
gen_atomic_orqi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (2,
		gen_rtx_IOR (QImode,
	copy_rtx (operand0),
	operand1),
		operand2),
	107)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:839 */
rtx
gen_atomic_xorqi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (2,
		gen_rtx_XOR (QImode,
	copy_rtx (operand0),
	operand1),
		operand2),
	107)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:839 */
rtx
gen_atomic_andhi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (2,
		gen_rtx_AND (HImode,
	copy_rtx (operand0),
	operand1),
		operand2),
	107)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:839 */
rtx
gen_atomic_orhi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (2,
		gen_rtx_IOR (HImode,
	copy_rtx (operand0),
	operand1),
		operand2),
	107)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:839 */
rtx
gen_atomic_xorhi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (2,
		gen_rtx_XOR (HImode,
	copy_rtx (operand0),
	operand1),
		operand2),
	107)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:839 */
rtx
gen_atomic_andsi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (2,
		gen_rtx_AND (SImode,
	copy_rtx (operand0),
	operand1),
		operand2),
	107)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:839 */
rtx
gen_atomic_orsi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (2,
		gen_rtx_IOR (SImode,
	copy_rtx (operand0),
	operand1),
		operand2),
	107)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:839 */
rtx
gen_atomic_xorsi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (2,
		gen_rtx_XOR (SImode,
	copy_rtx (operand0),
	operand1),
		operand2),
	107)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:839 */
rtx
gen_atomic_anddi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (2,
		gen_rtx_AND (DImode,
	copy_rtx (operand0),
	operand1),
		operand2),
	107)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:839 */
rtx
gen_atomic_ordi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (2,
		gen_rtx_IOR (DImode,
	copy_rtx (operand0),
	operand1),
		operand2),
	107)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:839 */
rtx
gen_atomic_xordi (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (2,
		gen_rtx_XOR (DImode,
	copy_rtx (operand0),
	operand1),
		operand2),
	107)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:871 */
rtx
gen_atomic_bit_test_and_sethi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	const0_rtx)),
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (HImode,
	copy_rtx (operand0),
	const1_rtx,
	operand1),
	const1_rtx)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:871 */
rtx
gen_atomic_bit_test_and_setsi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	const0_rtx)),
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (SImode,
	copy_rtx (operand0),
	const1_rtx,
	operand1),
	const1_rtx)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:871 */
rtx
gen_atomic_bit_test_and_setdi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	const0_rtx)),
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (DImode,
	copy_rtx (operand0),
	const1_rtx,
	operand1),
	const1_rtx)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:908 */
rtx
gen_atomic_bit_test_and_complementhi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	const0_rtx)),
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (HImode,
	copy_rtx (operand0),
	const1_rtx,
	operand1),
	gen_rtx_NOT (HImode,
	gen_rtx_ZERO_EXTRACT (HImode,
	copy_rtx (operand0),
	const1_rtx,
	copy_rtx (operand1))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:908 */
rtx
gen_atomic_bit_test_and_complementsi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	const0_rtx)),
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (SImode,
	copy_rtx (operand0),
	const1_rtx,
	operand1),
	gen_rtx_NOT (SImode,
	gen_rtx_ZERO_EXTRACT (SImode,
	copy_rtx (operand0),
	const1_rtx,
	copy_rtx (operand1))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:908 */
rtx
gen_atomic_bit_test_and_complementdi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	const0_rtx)),
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (DImode,
	copy_rtx (operand0),
	const1_rtx,
	operand1),
	gen_rtx_NOT (DImode,
	gen_rtx_ZERO_EXTRACT (DImode,
	copy_rtx (operand0),
	const1_rtx,
	copy_rtx (operand1))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:946 */
rtx
gen_atomic_bit_test_and_resethi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	const0_rtx)),
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (HImode,
	copy_rtx (operand0),
	const1_rtx,
	operand1),
	const0_rtx)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:946 */
rtx
gen_atomic_bit_test_and_resetsi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	const0_rtx)),
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (SImode,
	copy_rtx (operand0),
	const1_rtx,
	operand1),
	const0_rtx)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:946 */
rtx
gen_atomic_bit_test_and_resetdi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	const0_rtx)),
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (DImode,
	copy_rtx (operand0),
	const1_rtx,
	operand1),
	const0_rtx)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:979 */
rtx
gen_atomic_add_fetch_cmp_0qi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGOCmode,
	17),
	gen_rtx_COMPARE (CCGOCmode,
	gen_rtx_PLUS (QImode,
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	operand1),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_PLUS (QImode,
	copy_rtx (operand0),
	copy_rtx (operand1)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:979 */
rtx
gen_atomic_add_fetch_cmp_0hi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGOCmode,
	17),
	gen_rtx_COMPARE (CCGOCmode,
	gen_rtx_PLUS (HImode,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	operand1),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_PLUS (HImode,
	copy_rtx (operand0),
	copy_rtx (operand1)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:979 */
rtx
gen_atomic_add_fetch_cmp_0si_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGOCmode,
	17),
	gen_rtx_COMPARE (CCGOCmode,
	gen_rtx_PLUS (SImode,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	operand1),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_PLUS (SImode,
	copy_rtx (operand0),
	copy_rtx (operand1)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:979 */
rtx
gen_atomic_add_fetch_cmp_0di_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGOCmode,
	17),
	gen_rtx_COMPARE (CCGOCmode,
	gen_rtx_PLUS (DImode,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	operand1),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_PLUS (DImode,
	copy_rtx (operand0),
	copy_rtx (operand1)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1007 */
rtx
gen_atomic_sub_fetch_cmp_0qi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGOCmode,
	17),
	gen_rtx_COMPARE (CCGOCmode,
	gen_rtx_MINUS (QImode,
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	operand1),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_MINUS (QImode,
	copy_rtx (operand0),
	copy_rtx (operand1)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1007 */
rtx
gen_atomic_sub_fetch_cmp_0hi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGOCmode,
	17),
	gen_rtx_COMPARE (CCGOCmode,
	gen_rtx_MINUS (HImode,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	operand1),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_MINUS (HImode,
	copy_rtx (operand0),
	copy_rtx (operand1)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1007 */
rtx
gen_atomic_sub_fetch_cmp_0si_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGOCmode,
	17),
	gen_rtx_COMPARE (CCGOCmode,
	gen_rtx_MINUS (SImode,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	operand1),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_MINUS (SImode,
	copy_rtx (operand0),
	copy_rtx (operand1)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1007 */
rtx
gen_atomic_sub_fetch_cmp_0di_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGOCmode,
	17),
	gen_rtx_COMPARE (CCGOCmode,
	gen_rtx_MINUS (DImode,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	operand1),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_MINUS (DImode,
	copy_rtx (operand0),
	copy_rtx (operand1)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1050 */
rtx
gen_atomic_and_fetch_cmp_0qi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCNOmode,
	17),
	gen_rtx_COMPARE (CCNOmode,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	operand1),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_AND (QImode,
	copy_rtx (operand0),
	copy_rtx (operand1)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1050 */
rtx
gen_atomic_or_fetch_cmp_0qi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCNOmode,
	17),
	gen_rtx_COMPARE (CCNOmode,
	gen_rtx_IOR (QImode,
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	operand1),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_IOR (QImode,
	copy_rtx (operand0),
	copy_rtx (operand1)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1050 */
rtx
gen_atomic_xor_fetch_cmp_0qi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCNOmode,
	17),
	gen_rtx_COMPARE (CCNOmode,
	gen_rtx_XOR (QImode,
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	operand1),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_XOR (QImode,
	copy_rtx (operand0),
	copy_rtx (operand1)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1050 */
rtx
gen_atomic_and_fetch_cmp_0hi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCNOmode,
	17),
	gen_rtx_COMPARE (CCNOmode,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	operand1),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_AND (HImode,
	copy_rtx (operand0),
	copy_rtx (operand1)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1050 */
rtx
gen_atomic_or_fetch_cmp_0hi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCNOmode,
	17),
	gen_rtx_COMPARE (CCNOmode,
	gen_rtx_IOR (HImode,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	operand1),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_IOR (HImode,
	copy_rtx (operand0),
	copy_rtx (operand1)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1050 */
rtx
gen_atomic_xor_fetch_cmp_0hi_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCNOmode,
	17),
	gen_rtx_COMPARE (CCNOmode,
	gen_rtx_XOR (HImode,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	operand1),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_XOR (HImode,
	copy_rtx (operand0),
	copy_rtx (operand1)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1050 */
rtx
gen_atomic_and_fetch_cmp_0si_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCNOmode,
	17),
	gen_rtx_COMPARE (CCNOmode,
	gen_rtx_AND (SImode,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	operand1),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_AND (SImode,
	copy_rtx (operand0),
	copy_rtx (operand1)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1050 */
rtx
gen_atomic_or_fetch_cmp_0si_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCNOmode,
	17),
	gen_rtx_COMPARE (CCNOmode,
	gen_rtx_IOR (SImode,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	operand1),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_IOR (SImode,
	copy_rtx (operand0),
	copy_rtx (operand1)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1050 */
rtx
gen_atomic_xor_fetch_cmp_0si_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCNOmode,
	17),
	gen_rtx_COMPARE (CCNOmode,
	gen_rtx_XOR (SImode,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	operand1),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_XOR (SImode,
	copy_rtx (operand0),
	copy_rtx (operand1)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1050 */
rtx
gen_atomic_and_fetch_cmp_0di_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCNOmode,
	17),
	gen_rtx_COMPARE (CCNOmode,
	gen_rtx_AND (DImode,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	operand1),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_AND (DImode,
	copy_rtx (operand0),
	copy_rtx (operand1)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1050 */
rtx
gen_atomic_or_fetch_cmp_0di_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCNOmode,
	17),
	gen_rtx_COMPARE (CCNOmode,
	gen_rtx_IOR (DImode,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	operand1),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_IOR (DImode,
	copy_rtx (operand0),
	copy_rtx (operand1)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1050 */
rtx
gen_atomic_xor_fetch_cmp_0di_1 (rtx operand0 ATTRIBUTE_UNUSED,
	rtx operand1 ATTRIBUTE_UNUSED,
	rtx operand2 ATTRIBUTE_UNUSED)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCNOmode,
	17),
	gen_rtx_COMPARE (CCNOmode,
	gen_rtx_XOR (DImode,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (2,
		operand0,
		operand2),
	106),
	operand1),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_XOR (DImode,
	copy_rtx (operand0),
	copy_rtx (operand1)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1328 */
rtx
gen_cbranchqi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1338 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (MEM_P (operands[1]) && MEM_P (operands[2]))
    operands[1] = force_reg (QImode, operands[1]);
  ix86_expand_branch (GET_CODE (operands[0]),
		      operands[1], operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand0), VOIDmode,
		gen_rtx_REG (CCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1328 */
rtx
gen_cbranchhi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1338 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (MEM_P (operands[1]) && MEM_P (operands[2]))
    operands[1] = force_reg (HImode, operands[1]);
  ix86_expand_branch (GET_CODE (operands[0]),
		      operands[1], operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand0), VOIDmode,
		gen_rtx_REG (CCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1328 */
rtx
gen_cbranchsi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1338 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (MEM_P (operands[1]) && MEM_P (operands[2]))
    operands[1] = force_reg (SImode, operands[1]);
  ix86_expand_branch (GET_CODE (operands[0]),
		      operands[1], operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand0), VOIDmode,
		gen_rtx_REG (CCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1328 */
rtx
gen_cbranchdi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1338 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (MEM_P (operands[1]) && MEM_P (operands[2]))
    operands[1] = force_reg (DImode, operands[1]);
  ix86_expand_branch (GET_CODE (operands[0]),
		      operands[1], operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand0), VOIDmode,
		gen_rtx_REG (CCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1328 */
rtx
gen_cbranchti4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1338 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (MEM_P (operands[1]) && MEM_P (operands[2]))
    operands[1] = force_reg (TImode, operands[1]);
  ix86_expand_branch (GET_CODE (operands[0]),
		      operands[1], operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand0), VOIDmode,
		gen_rtx_REG (CCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1346 */
rtx
gen_cstoreqi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1354 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (MEM_P (operands[2]) && MEM_P (operands[3]))
    operands[2] = force_reg (QImode, operands[2]);
  ix86_expand_setcc (operands[0], GET_CODE (operands[1]),
		     operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	operand3)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), VOIDmode,
		gen_rtx_REG (CCmode,
	17),
		const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1346 */
rtx
gen_cstorehi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1354 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (MEM_P (operands[2]) && MEM_P (operands[3]))
    operands[2] = force_reg (HImode, operands[2]);
  ix86_expand_setcc (operands[0], GET_CODE (operands[1]),
		     operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	operand3)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), VOIDmode,
		gen_rtx_REG (CCmode,
	17),
		const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1346 */
rtx
gen_cstoresi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1354 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (MEM_P (operands[2]) && MEM_P (operands[3]))
    operands[2] = force_reg (SImode, operands[2]);
  ix86_expand_setcc (operands[0], GET_CODE (operands[1]),
		     operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	operand3)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), VOIDmode,
		gen_rtx_REG (CCmode,
	17),
		const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1346 */
rtx
gen_cstoredi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1354 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (MEM_P (operands[2]) && MEM_P (operands[3]))
    operands[2] = force_reg (DImode, operands[2]);
  ix86_expand_setcc (operands[0], GET_CODE (operands[1]),
		     operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	operand3)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), VOIDmode,
		gen_rtx_REG (CCmode,
	17),
		const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1362 */
rtx
gen_cmpsi_1 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand0,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1362 */
rtx
gen_cmpdi_1 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand0,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1448 */
rtx
gen_cmpqi_ext_3 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (HImode,
	operand0,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1496 */
rtx
gen_cbranchxf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1507 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_branch (GET_CODE (operands[0]),
		      operands[1], operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand0), VOIDmode,
		gen_rtx_REG (CCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1513 */
rtx
gen_cstorexf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1522 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_setcc (operands[0], GET_CODE (operands[1]),
		     operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	operand3)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), VOIDmode,
		gen_rtx_REG (CCmode,
	17),
		const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1528 */
rtx
gen_cbranchhf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1539 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_branch (GET_CODE (operands[0]),
		      operands[1], operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand0), VOIDmode,
		gen_rtx_REG (CCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1545 */
rtx
gen_cbranchsf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1556 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_branch (GET_CODE (operands[0]),
		      operands[1], operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand0), VOIDmode,
		gen_rtx_REG (CCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1545 */
rtx
gen_cbranchdf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1556 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_branch (GET_CODE (operands[0]),
		      operands[1], operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand0), VOIDmode,
		gen_rtx_REG (CCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1562 */
rtx
gen_cstorehf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1571 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_setcc (operands[0], GET_CODE (operands[1]),
		     operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	operand3)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), VOIDmode,
		gen_rtx_REG (CCmode,
	17),
		const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1577 */
rtx
gen_cstoresf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_setcc (operands[0], GET_CODE (operands[1]),
		     operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	operand3)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), VOIDmode,
		gen_rtx_REG (CCmode,
	17),
		const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1577 */
rtx
gen_cstoredf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_setcc (operands[0], GET_CODE (operands[1]),
		     operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	operand3)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), VOIDmode,
		gen_rtx_REG (CCmode,
	17),
		const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1592 */
rtx
gen_cbranchcc4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1600 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_branch (GET_CODE (operands[0]),
		      operands[1], operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand0), VOIDmode,
		operand1,
		operand2),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1606 */
rtx
gen_cstorecc4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1612 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_setcc (operands[0], GET_CODE (operands[1]),
		     operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), VOIDmode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1783 */
extern rtx_insn *gen_split_1 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1 (i386.md:1783)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1791 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (V1TImode)));
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1783 */
extern rtx_insn *gen_split_2 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2 (i386.md:1783)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1791 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (V1TImode)));
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (DImode,
	7),
	gen_rtx_PLUS (DImode,
	gen_rtx_REG (DImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1807 */
extern rtx_insn *gen_split_3 (rtx_insn *, rtx *);
rtx_insn *
gen_split_3 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_3 (i386.md:1807)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1812 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_long_move (operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1807 */
extern rtx_insn *gen_split_4 (rtx_insn *, rtx *);
rtx_insn *
gen_split_4 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_4 (i386.md:1807)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1812 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_long_move (operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1830 */
extern rtx_insn *gen_peephole2_1 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_1 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_1 (i386.md:1830)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	copy_rtx (operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1840 */
extern rtx_insn *gen_split_5 (rtx_insn *, rtx *);
rtx_insn *
gen_split_5 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_5 (i386.md:1840)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1848 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (DImode, &operands[1], 1, &operands[2], &operands[3]);

  operands[1] = gen_lowpart (DImode, operands[2]);
  operands[2] = gen_rtx_MEM (SImode,
			     plus_constant (Pmode, stack_pointer_rtx, 4));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  emit_insn (gen_rtx_SET (operand2,
	operand3));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1877 */
extern rtx_insn *gen_split_6 (rtx_insn *, rtx *);
rtx_insn *
gen_split_6 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_6 (i386.md:1877)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1883 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (SImode)));
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1877 */
extern rtx_insn *gen_split_7 (rtx_insn *, rtx *);
rtx_insn *
gen_split_7 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_7 (i386.md:1877)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1883 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (DImode)));
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1877 */
extern rtx_insn *gen_split_8 (rtx_insn *, rtx *);
rtx_insn *
gen_split_8 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_8 (i386.md:1877)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1883 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (TImode)));
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1877 */
extern rtx_insn *gen_split_9 (rtx_insn *, rtx *);
rtx_insn *
gen_split_9 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_9 (i386.md:1877)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1883 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (SImode)));
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (DImode,
	7),
	gen_rtx_PLUS (DImode,
	gen_rtx_REG (DImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1877 */
extern rtx_insn *gen_split_10 (rtx_insn *, rtx *);
rtx_insn *
gen_split_10 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_10 (i386.md:1877)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1883 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (DImode)));
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (DImode,
	7),
	gen_rtx_PLUS (DImode,
	gen_rtx_REG (DImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1877 */
extern rtx_insn *gen_split_11 (rtx_insn *, rtx *);
rtx_insn *
gen_split_11 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_11 (i386.md:1877)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1883 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (TImode)));
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (DImode,
	7),
	gen_rtx_PLUS (DImode,
	gen_rtx_REG (DImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1949 */
rtx
gen_reload_noff_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1954 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx mem = operands[0];
  rtx addr = XEXP (mem, 0);

  emit_move_insn (operands[2], addr);
  mem = replace_equiv_address_nv (mem, operands[2]);

  emit_insn (gen_rtx_SET (mem, operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		operand0,
		operand1,
		operand2)), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1965 */
rtx
gen_reload_noff_load (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1970 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx mem = operands[1];
  rtx addr = XEXP (mem, 0);

  emit_move_insn (operands[2], addr);
  mem = replace_equiv_address_nv (mem, operands[2]);

  emit_insn (gen_rtx_SET (operands[0], mem));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		operand0,
		operand1,
		operand2)), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1983 */
rtx
gen_movxi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1987 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_vector_move (XImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1989 */
rtx
gen_movoi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1993 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_vector_move (OImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:1995 */
rtx
gen_movti (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1999 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_64BIT)
    ix86_expand_move (TImode, operands);
  else
    ix86_expand_vector_move (TImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2011 */
rtx
gen_movcdi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2015 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (push_operand (operands[0], CDImode))
    emit_move_complex_push (CDImode, operands[0], operands[1]);
  else
    emit_move_complex_parts (operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2023 */
rtx
gen_movqi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2027 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_move (QImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2023 */
rtx
gen_movhi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2027 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_move (HImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2023 */
rtx
gen_movsi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2027 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_move (SImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2023 */
rtx
gen_movdi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2027 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_move (DImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2170 */
extern rtx_insn *gen_split_12 (rtx_insn *, rtx *);
rtx_insn *
gen_split_12 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_12 (i386.md:2170)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2180 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = lowpart_subreg (V2DImode, operands[0], TImode);
  operands[3] = gen_highpart (DImode, operands[1]);

  emit_move_insn (gen_lowpart (DImode, operands[0]),
  		  gen_lowpart (DImode, operands[1]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_VEC_DUPLICATE (V2DImode,
	operand3),
	copy_rtx (operand2),
	const_int_rtx[MAX_SAVED_CONST_INT + (2)])));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2345 */
extern rtx_insn *gen_split_13 (rtx_insn *, rtx *);
rtx_insn *
gen_split_13 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_13 (i386.md:2345)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2354 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_highpart (SImode, operands[0]);
  operands[3] = lowpart_subreg (V4SImode, operands[1], DImode);

  emit_move_insn (gen_lowpart (SImode, operands[0]),
  		  gen_lowpart (SImode, operands[1]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_VEC_SELECT (SImode,
	operand3,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2345 */
extern rtx_insn *gen_split_14 (rtx_insn *, rtx *);
rtx_insn *
gen_split_14 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_14 (i386.md:2345)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2354 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_highpart (DImode, operands[0]);
  operands[3] = lowpart_subreg (V2DImode, operands[1], TImode);

  emit_move_insn (gen_lowpart (DImode, operands[0]),
  		  gen_lowpart (DImode, operands[1]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_VEC_SELECT (DImode,
	operand3,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2362 */
extern rtx_insn *gen_split_15 (rtx_insn *, rtx *);
rtx_insn *
gen_split_15 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_15 (i386.md:2362)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2367 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_long_move (operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2362 */
extern rtx_insn *gen_split_16 (rtx_insn *, rtx *);
rtx_insn *
gen_split_16 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_16 (i386.md:2362)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2367 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_long_move (operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2369 */
extern rtx_insn *gen_split_17 (rtx_insn *, rtx *);
rtx_insn *
gen_split_17 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_17 (i386.md:2369)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2379 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = lowpart_subreg (V4SImode, operands[0], DImode);
  operands[3] = gen_highpart (SImode, operands[1]);

  emit_move_insn (gen_lowpart (SImode, operands[0]),
  		  gen_lowpart (SImode, operands[1]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_VEC_DUPLICATE (V4SImode,
	operand3),
	copy_rtx (operand2),
	const_int_rtx[MAX_SAVED_CONST_INT + (2)])));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2389 */
extern rtx_insn *gen_peephole2_2 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_2 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_2 (i386.md:2389)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2403 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  int shift = ctz_hwi (UINTVAL (operands[1]));
  rtx op1 = gen_int_mode (UINTVAL (operands[1]) >> shift, DImode);
  if (ix86_endbr_immediate_operand (op1, VOIDmode))
    FAIL;
  operands[1] = op1;
  operands[2] = gen_int_mode (shift, QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_ASHIFT (DImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2524 */
extern rtx_insn *gen_peephole2_3 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_3 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_3 (i386.md:2524)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (GET_MODE (operands[0]) != word_mode)
    operands[0] = gen_rtx_REG (word_mode, REGNO (operands[0]));

  operands[2] = gen_rtx_MEM (word_mode,
			     gen_rtx_PRE_DEC (Pmode, stack_pointer_rtx));
  operands[3] = gen_rtx_MEM (word_mode,
			     gen_rtx_POST_INC (Pmode, stack_pointer_rtx));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	operand3));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2524 */
extern rtx_insn *gen_peephole2_4 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_4 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_4 (i386.md:2524)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (GET_MODE (operands[0]) != word_mode)
    operands[0] = gen_rtx_REG (word_mode, REGNO (operands[0]));

  operands[2] = gen_rtx_MEM (word_mode,
			     gen_rtx_PRE_DEC (Pmode, stack_pointer_rtx));
  operands[3] = gen_rtx_MEM (word_mode,
			     gen_rtx_POST_INC (Pmode, stack_pointer_rtx));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	operand3));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2524 */
extern rtx_insn *gen_peephole2_5 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_5 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_5 (i386.md:2524)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (GET_MODE (operands[0]) != word_mode)
    operands[0] = gen_rtx_REG (word_mode, REGNO (operands[0]));

  operands[2] = gen_rtx_MEM (word_mode,
			     gen_rtx_PRE_DEC (Pmode, stack_pointer_rtx));
  operands[3] = gen_rtx_MEM (word_mode,
			     gen_rtx_POST_INC (Pmode, stack_pointer_rtx));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	operand3));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2546 */
extern rtx_insn *gen_peephole2_6 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_6 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_6 (i386.md:2546)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	operand1),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2546 */
extern rtx_insn *gen_peephole2_7 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_7 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_7 (i386.md:2546)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	operand1),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2546 */
extern rtx_insn *gen_peephole2_8 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_8 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_8 (i386.md:2546)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	operand1),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2847 */
extern rtx_insn *gen_peephole2_9 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_9 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_9 (i386.md:2847)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2847 */
extern rtx_insn *gen_peephole2_10 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_10 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_10 (i386.md:2847)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2847 */
extern rtx_insn *gen_peephole2_11 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_11 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_11 (i386.md:2847)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2847 */
extern rtx_insn *gen_peephole2_12 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_12 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_12 (i386.md:2847)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2948 */
extern rtx_insn *gen_peephole2_13 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_13 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_13 (i386.md:2948)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	operand2),
		gen_rtx_SET (copy_rtx (operand2),
	copy_rtx (operand1)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2948 */
extern rtx_insn *gen_peephole2_14 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_14 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_14 (i386.md:2948)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	operand2),
		gen_rtx_SET (copy_rtx (operand2),
	copy_rtx (operand1)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2948 */
extern rtx_insn *gen_peephole2_15 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_15 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_15 (i386.md:2948)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	operand2),
		gen_rtx_SET (copy_rtx (operand2),
	copy_rtx (operand1)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2948 */
extern rtx_insn *gen_peephole2_16 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_16 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_16 (i386.md:2948)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	operand2),
		gen_rtx_SET (copy_rtx (operand2),
	copy_rtx (operand1)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2959 */
rtx
gen_movstrictqi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2963 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  gcc_assert (SUBREG_P (operands[0]));
  if ((TARGET_PARTIAL_REG_STALL && optimize_function_for_speed_p (cfun))
      || !VALID_INT_MODE_P (GET_MODE (SUBREG_REG (operands[0]))))
    FAIL;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2959 */
rtx
gen_movstricthi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2963 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  gcc_assert (SUBREG_P (operands[0]));
  if ((TARGET_PARTIAL_REG_STALL && optimize_function_for_speed_p (cfun))
      || !VALID_INT_MODE_P (GET_MODE (SUBREG_REG (operands[0]))))
    FAIL;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2989 */
rtx
gen_extvhi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2995 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* Handle extractions from %ah et al.  */
  if (INTVAL (operands[2]) != 8 || INTVAL (operands[3]) != 8)
    FAIL;

  unsigned int regno = reg_or_subregno (operands[1]);

  /* Be careful to expand only with registers having upper parts.  */
  if (regno <= LAST_VIRTUAL_REGISTER && !QI_REGNO_P (regno))
    operands[1] = copy_to_reg (operands[1]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTRACT (HImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:2989 */
rtx
gen_extvsi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2995 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* Handle extractions from %ah et al.  */
  if (INTVAL (operands[2]) != 8 || INTVAL (operands[3]) != 8)
    FAIL;

  unsigned int regno = reg_or_subregno (operands[1]);

  /* Be careful to expand only with registers having upper parts.  */
  if (regno <= LAST_VIRTUAL_REGISTER && !QI_REGNO_P (regno))
    operands[1] = copy_to_reg (operands[1]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTRACT (SImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3017 */
rtx
gen_extzvhi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3023 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (ix86_expand_pextr (operands))
    DONE;

  /* Handle extractions from %ah et al.  */
  if (INTVAL (operands[2]) != 8 || INTVAL (operands[3]) != 8)
    FAIL;

  unsigned int regno = reg_or_subregno (operands[1]);

  /* Be careful to expand only with registers having upper parts.  */
  if (regno <= LAST_VIRTUAL_REGISTER && !QI_REGNO_P (regno))
    operands[1] = copy_to_reg (operands[1]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTRACT (HImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3017 */
rtx
gen_extzvsi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3023 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (ix86_expand_pextr (operands))
    DONE;

  /* Handle extractions from %ah et al.  */
  if (INTVAL (operands[2]) != 8 || INTVAL (operands[3]) != 8)
    FAIL;

  unsigned int regno = reg_or_subregno (operands[1]);

  /* Be careful to expand only with registers having upper parts.  */
  if (regno <= LAST_VIRTUAL_REGISTER && !QI_REGNO_P (regno))
    operands[1] = copy_to_reg (operands[1]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3017 */
rtx
gen_extzvdi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3023 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (ix86_expand_pextr (operands))
    DONE;

  /* Handle extractions from %ah et al.  */
  if (INTVAL (operands[2]) != 8 || INTVAL (operands[3]) != 8)
    FAIL;

  unsigned int regno = reg_or_subregno (operands[1]);

  /* Be careful to expand only with registers having upper parts.  */
  if (regno <= LAST_VIRTUAL_REGISTER && !QI_REGNO_P (regno))
    operands[1] = copy_to_reg (operands[1]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTRACT (DImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3089 */
extern rtx_insn *gen_peephole2_17 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_17 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_17 (i386.md:3089)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (HImode,
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3089 */
extern rtx_insn *gen_peephole2_18 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_18 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_18 (i386.md:3089)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3089 */
extern rtx_insn *gen_peephole2_19 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_19 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_19 (i386.md:3089)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (DImode,
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3104 */
rtx
gen_insvhi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3110 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx dst;

  if (ix86_expand_pinsr (operands))
    DONE;

  /* Handle insertions to %ah et al.  */
  if (INTVAL (operands[1]) != 8 || INTVAL (operands[2]) != 8)
    FAIL;

  unsigned int regno = reg_or_subregno (operands[0]);

  /* Be careful to expand only with registers having upper parts.  */
  if (regno <= LAST_VIRTUAL_REGISTER && !QI_REGNO_P (regno))
    dst = copy_to_reg (operands[0]);
  else
    dst = operands[0];

  emit_insn (gen_insv_1 (HImode, dst, operands[3]));

  /* Fix up the destination if needed.  */
  if (dst != operands[0])
    emit_move_insn (operands[0], dst);

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_ZERO_EXTRACT (HImode,
	operand0,
	operand1,
	operand2),
	operand3));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3104 */
rtx
gen_insvsi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3110 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx dst;

  if (ix86_expand_pinsr (operands))
    DONE;

  /* Handle insertions to %ah et al.  */
  if (INTVAL (operands[1]) != 8 || INTVAL (operands[2]) != 8)
    FAIL;

  unsigned int regno = reg_or_subregno (operands[0]);

  /* Be careful to expand only with registers having upper parts.  */
  if (regno <= LAST_VIRTUAL_REGISTER && !QI_REGNO_P (regno))
    dst = copy_to_reg (operands[0]);
  else
    dst = operands[0];

  emit_insn (gen_insv_1 (SImode, dst, operands[3]));

  /* Fix up the destination if needed.  */
  if (dst != operands[0])
    emit_move_insn (operands[0], dst);

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_ZERO_EXTRACT (SImode,
	operand0,
	operand1,
	operand2),
	operand3));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3104 */
rtx
gen_insvdi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3110 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx dst;

  if (ix86_expand_pinsr (operands))
    DONE;

  /* Handle insertions to %ah et al.  */
  if (INTVAL (operands[1]) != 8 || INTVAL (operands[2]) != 8)
    FAIL;

  unsigned int regno = reg_or_subregno (operands[0]);

  /* Be careful to expand only with registers having upper parts.  */
  if (regno <= LAST_VIRTUAL_REGISTER && !QI_REGNO_P (regno))
    dst = copy_to_reg (operands[0]);
  else
    dst = operands[0];

  emit_insn (gen_insv_1 (DImode, dst, operands[3]));

  /* Fix up the destination if needed.  */
  if (dst != operands[0])
    emit_move_insn (operands[0], dst);

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_ZERO_EXTRACT (DImode,
	operand0,
	operand1,
	operand2),
	operand3));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3178 */
extern rtx_insn *gen_peephole2_20 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_20 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_20 (i386.md:3178)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_ZERO_EXTRACT (HImode,
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (HImode,
	operand1,
	0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3178 */
extern rtx_insn *gen_peephole2_21 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_21 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_21 (i386.md:3178)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_ZERO_EXTRACT (SImode,
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (SImode,
	operand1,
	0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3178 */
extern rtx_insn *gen_peephole2_22 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_22 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_22 (i386.md:3178)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_ZERO_EXTRACT (DImode,
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (DImode,
	operand1,
	0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3193 */
extern rtx_insn *gen_peephole2_23 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_23 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_23 (i386.md:3193)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	const0_rtx),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3193 */
extern rtx_insn *gen_peephole2_24 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_24 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_24 (i386.md:3193)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	const0_rtx),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3193 */
extern rtx_insn *gen_peephole2_25 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_25 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_25 (i386.md:3193)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	const0_rtx),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3193 */
extern rtx_insn *gen_peephole2_26 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_26 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_26 (i386.md:3193)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	const0_rtx),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3193 */
extern rtx_insn *gen_peephole2_27 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_27 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_27 (i386.md:3193)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	const0_rtx),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3193 */
extern rtx_insn *gen_peephole2_28 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_28 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_28 (i386.md:3193)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	const0_rtx),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3207 */
extern rtx_insn *gen_peephole2_29 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_29 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_29 (i386.md:3207)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3217 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  HOST_WIDE_INT tmp = INTVAL (operands[1]) & ~(HOST_WIDE_INT)0xff00;
  tmp |= (INTVAL (operands[3]) & 0xff) << 8;
  operands[4] = gen_int_mode (tmp, SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3207 */
extern rtx_insn *gen_peephole2_30 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_30 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_30 (i386.md:3207)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3217 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  HOST_WIDE_INT tmp = INTVAL (operands[1]) & ~(HOST_WIDE_INT)0xff00;
  tmp |= (INTVAL (operands[3]) & 0xff) << 8;
  operands[4] = gen_int_mode (tmp, DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3207 */
extern rtx_insn *gen_peephole2_31 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_31 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_31 (i386.md:3207)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3217 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  HOST_WIDE_INT tmp = INTVAL (operands[1]) & ~(HOST_WIDE_INT)0xff00;
  tmp |= (INTVAL (operands[3]) & 0xff) << 8;
  operands[4] = gen_int_mode (tmp, SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3207 */
extern rtx_insn *gen_peephole2_32 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_32 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_32 (i386.md:3207)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3217 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  HOST_WIDE_INT tmp = INTVAL (operands[1]) & ~(HOST_WIDE_INT)0xff00;
  tmp |= (INTVAL (operands[3]) & 0xff) << 8;
  operands[4] = gen_int_mode (tmp, DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3207 */
extern rtx_insn *gen_peephole2_33 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_33 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_33 (i386.md:3207)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3217 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  HOST_WIDE_INT tmp = INTVAL (operands[1]) & ~(HOST_WIDE_INT)0xff00;
  tmp |= (INTVAL (operands[3]) & 0xff) << 8;
  operands[4] = gen_int_mode (tmp, SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3207 */
extern rtx_insn *gen_peephole2_34 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_34 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_34 (i386.md:3207)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3217 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  HOST_WIDE_INT tmp = INTVAL (operands[1]) & ~(HOST_WIDE_INT)0xff00;
  tmp |= (INTVAL (operands[3]) & 0xff) << 8;
  operands[4] = gen_int_mode (tmp, DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3269 */
extern rtx_insn *gen_split_18 (rtx_insn *, rtx *);
rtx_insn *
gen_split_18 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_18 (i386.md:3269)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	const_int_rtx[MAX_SAVED_CONST_INT + (-16)])));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3269 */
extern rtx_insn *gen_split_19 (rtx_insn *, rtx *);
rtx_insn *
gen_split_19 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_19 (i386.md:3269)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_REG (DImode,
	7),
	gen_rtx_PLUS (DImode,
	gen_rtx_REG (DImode,
	7),
	const_int_rtx[MAX_SAVED_CONST_INT + (-16)])));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3304 */
extern rtx_insn *gen_split_20 (rtx_insn *, rtx *);
rtx_insn *
gen_split_20 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_20 (i386.md:3304)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3310 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (XFmode)));
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3304 */
extern rtx_insn *gen_split_21 (rtx_insn *, rtx *);
rtx_insn *
gen_split_21 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_21 (i386.md:3304)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3310 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (XFmode)));
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (DImode,
	7),
	gen_rtx_PLUS (DImode,
	gen_rtx_REG (DImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3338 */
extern rtx_insn *gen_split_22 (rtx_insn *, rtx *);
rtx_insn *
gen_split_22 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_22 (i386.md:3338)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3344 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	const_int_rtx[MAX_SAVED_CONST_INT + (-8)])));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3338 */
extern rtx_insn *gen_split_23 (rtx_insn *, rtx *);
rtx_insn *
gen_split_23 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_23 (i386.md:3338)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3344 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_REG (DImode,
	7),
	gen_rtx_PLUS (DImode,
	gen_rtx_REG (DImode,
	7),
	const_int_rtx[MAX_SAVED_CONST_INT + (-8)])));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3405 */
extern rtx_insn *gen_split_24 (rtx_insn *, rtx *);
rtx_insn *
gen_split_24 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_24 (i386.md:3405)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3411 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op = XEXP (operands[0], 0);
  if (GET_CODE (op) == PRE_DEC)
    {
      gcc_assert (!TARGET_64BIT);
      op = GEN_INT (-4);
    }
  else
    {
      op = XEXP (XEXP (op, 1), 1);
      gcc_assert (CONST_INT_P (op));
    }
  operands[2] = op;
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3405 */
extern rtx_insn *gen_split_25 (rtx_insn *, rtx *);
rtx_insn *
gen_split_25 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_25 (i386.md:3405)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3411 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op = XEXP (operands[0], 0);
  if (GET_CODE (op) == PRE_DEC)
    {
      gcc_assert (!TARGET_64BIT);
      op = GEN_INT (-4);
    }
  else
    {
      op = XEXP (XEXP (op, 1), 1);
      gcc_assert (CONST_INT_P (op));
    }
  operands[2] = op;
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3405 */
extern rtx_insn *gen_split_26 (rtx_insn *, rtx *);
rtx_insn *
gen_split_26 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_26 (i386.md:3405)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3411 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op = XEXP (operands[0], 0);
  if (GET_CODE (op) == PRE_DEC)
    {
      gcc_assert (!TARGET_64BIT);
      op = GEN_INT (-4);
    }
  else
    {
      op = XEXP (XEXP (op, 1), 1);
      gcc_assert (CONST_INT_P (op));
    }
  operands[2] = op;
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (DImode,
	7),
	gen_rtx_PLUS (DImode,
	gen_rtx_REG (DImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3405 */
extern rtx_insn *gen_split_27 (rtx_insn *, rtx *);
rtx_insn *
gen_split_27 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_27 (i386.md:3405)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3411 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op = XEXP (operands[0], 0);
  if (GET_CODE (op) == PRE_DEC)
    {
      gcc_assert (!TARGET_64BIT);
      op = GEN_INT (-4);
    }
  else
    {
      op = XEXP (XEXP (op, 1), 1);
      gcc_assert (CONST_INT_P (op));
    }
  operands[2] = op;
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (DImode,
	7),
	gen_rtx_PLUS (DImode,
	gen_rtx_REG (DImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3428 */
extern rtx_insn *gen_split_28 (rtx_insn *, rtx *);
rtx_insn *
gen_split_28 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_28 (i386.md:3428)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3434 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = find_constant_src (curr_insn);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3436 */
extern rtx_insn *gen_split_29 (rtx_insn *, rtx *);
rtx_insn *
gen_split_29 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_29 (i386.md:3436)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3444 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_long_move (operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3448 */
rtx
gen_movtf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3452 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_move (TFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3454 */
rtx
gen_movhf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_move (HFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3454 */
rtx
gen_movsf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_move (SFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3454 */
rtx
gen_movdf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_move (DFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3454 */
rtx
gen_movxf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_move (XFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3509 */
extern rtx_insn *gen_split_30 (rtx_insn *, rtx *);
rtx_insn *
gen_split_30 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_30 (i386.md:3509)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3514 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_long_move (operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3582 */
extern rtx_insn *gen_split_31 (rtx_insn *, rtx *);
rtx_insn *
gen_split_31 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_31 (i386.md:3582)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3587 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_long_move (operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3756 */
extern rtx_insn *gen_split_32 (rtx_insn *, rtx *);
rtx_insn *
gen_split_32 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_32 (i386.md:3756)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3761 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_long_move (operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:3999 */
extern rtx_insn *gen_split_33 (rtx_insn *, rtx *);
rtx_insn *
gen_split_33 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_33 (i386.md:3999)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4009 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = find_constant_src (curr_insn);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4011 */
extern rtx_insn *gen_split_34 (rtx_insn *, rtx *);
rtx_insn *
gen_split_34 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_34 (i386.md:4011)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4020 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = find_constant_src (curr_insn);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4023 */
extern rtx_insn *gen_split_35 (rtx_insn *, rtx *);
rtx_insn *
gen_split_35 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_35 (i386.md:4023)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (real_isnegzero (CONST_DOUBLE_REAL_VALUE (operands[1])))
    operands[1] = CONST0_RTX (SFmode);
  else
    operands[1] = CONST1_RTX (SFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_NEG (SFmode,
	copy_rtx (operand0))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4023 */
extern rtx_insn *gen_split_36 (rtx_insn *, rtx *);
rtx_insn *
gen_split_36 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_36 (i386.md:4023)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (real_isnegzero (CONST_DOUBLE_REAL_VALUE (operands[1])))
    operands[1] = CONST0_RTX (DFmode);
  else
    operands[1] = CONST1_RTX (DFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_NEG (DFmode,
	copy_rtx (operand0))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4023 */
extern rtx_insn *gen_split_37 (rtx_insn *, rtx *);
rtx_insn *
gen_split_37 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_37 (i386.md:4023)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (real_isnegzero (CONST_DOUBLE_REAL_VALUE (operands[1])))
    operands[1] = CONST0_RTX (XFmode);
  else
    operands[1] = CONST1_RTX (XFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_NEG (XFmode,
	copy_rtx (operand0))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4057 */
rtx
gen_zero_extendsidi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4171 */
extern rtx_insn *gen_split_38 (rtx_insn *, rtx *);
rtx_insn *
gen_split_38 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_38 (i386.md:4171)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4176 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
split_double_mode (DImode, &operands[0], 1, &operands[3], &operands[4]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	const0_rtx));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4178 */
extern rtx_insn *gen_split_39 (rtx_insn *, rtx *);
rtx_insn *
gen_split_39 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_39 (i386.md:4178)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4184 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
split_double_mode (DImode, &operands[0], 1, &operands[3], &operands[4]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	const0_rtx));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4186 */
extern rtx_insn *gen_split_40 (rtx_insn *, rtx *);
rtx_insn *
gen_split_40 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_40 (i386.md:4186)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4193 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
split_double_mode (DImode, &operands[0], 1, &operands[3], &operands[4]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand3,
	operand1));
  emit_insn (gen_rtx_SET (operand4,
	const0_rtx));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4211 */
rtx
gen_zero_extendqisi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4215 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))
    {
      operands[1] = force_reg (QImode, operands[1]);
      emit_insn (gen_zero_extendqisi2_and (operands[0], operands[1]));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4211 */
rtx
gen_zero_extendhisi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4215 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))
    {
      operands[1] = force_reg (HImode, operands[1]);
      emit_insn (gen_zero_extendhisi2_and (operands[0], operands[1]));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4224 */
extern rtx_insn *gen_split_41 (rtx_insn *, rtx *);
rtx_insn *
gen_split_41 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_41 (i386.md:4224)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4234 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!REG_P (operands[1])
      || REGNO (operands[0]) != REGNO (operands[1]))
    {
      ix86_expand_clear (operands[0]);

      gcc_assert (!TARGET_PARTIAL_REG_STALL);
      emit_insn (gen_rtx_SET
      		 (gen_rtx_STRICT_LOW_PART
		  (VOIDmode, gen_lowpart (QImode, operands[0])),
		  operands[1]));
      DONE;
    }

  operands[2] = GEN_INT (GET_MODE_MASK (QImode));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4224 */
extern rtx_insn *gen_split_42 (rtx_insn *, rtx *);
rtx_insn *
gen_split_42 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_42 (i386.md:4224)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4234 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!REG_P (operands[1])
      || REGNO (operands[0]) != REGNO (operands[1]))
    {
      ix86_expand_clear (operands[0]);

      gcc_assert (!TARGET_PARTIAL_REG_STALL);
      emit_insn (gen_rtx_SET
      		 (gen_rtx_STRICT_LOW_PART
		  (VOIDmode, gen_lowpart (HImode, operands[0])),
		  operands[1]));
      DONE;
    }

  operands[2] = GEN_INT (GET_MODE_MASK (HImode));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4266 */
rtx
gen_zero_extendqihi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4270 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_ZERO_EXTEND_WITH_AND && optimize_function_for_speed_p (cfun))
    {
      operands[1] = force_reg (QImode, operands[1]);
      emit_insn (gen_zero_extendqihi2_and (operands[0], operands[1]));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4279 */
extern rtx_insn *gen_split_43 (rtx_insn *, rtx *);
rtx_insn *
gen_split_43 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_43 (i386.md:4279)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4288 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!REG_P (operands[1])
      || REGNO (operands[0]) != REGNO (operands[1]))
    {
      ix86_expand_clear (operands[0]);

      gcc_assert (!TARGET_PARTIAL_REG_STALL);
      emit_insn (gen_rtx_SET
		 (gen_rtx_STRICT_LOW_PART
		  (VOIDmode, gen_lowpart (QImode, operands[0])),
		  operands[1]));
      DONE;
    }

  operands[0] = gen_lowpart (SImode, operands[0]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	copy_rtx (operand0),
	GEN_INT (255L))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4321 */
extern rtx_insn *gen_peephole2_35 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_35 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_35 (i386.md:4321)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (SImode,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4321 */
extern rtx_insn *gen_peephole2_36 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_36 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_36 (i386.md:4321)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4321 */
extern rtx_insn *gen_peephole2_37 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_37 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_37 (i386.md:4321)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (SImode,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4321 */
extern rtx_insn *gen_peephole2_38 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_38 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_38 (i386.md:4321)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4334 */
extern rtx_insn *gen_peephole2_39 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_39 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_39 (i386.md:4334)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (SImode,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4334 */
extern rtx_insn *gen_peephole2_40 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_40 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_40 (i386.md:4334)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4334 */
extern rtx_insn *gen_peephole2_41 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_41 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_41 (i386.md:4334)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (SImode,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4334 */
extern rtx_insn *gen_peephole2_42 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_42 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_42 (i386.md:4334)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4346 */
rtx
gen_extendsidi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4350 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!TARGET_64BIT)
    {
      emit_insn (gen_extendsidi2_1 (operands[0], operands[1]));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4380 */
extern rtx_insn *gen_split_44 (rtx_insn *, rtx *);
rtx_insn *
gen_split_44 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_44 (i386.md:4380)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4387 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (DImode, &operands[0], 1, &operands[3], &operands[4]);

  emit_move_insn (operands[3], operands[1]);

  /* Generate a cltd if possible and doing so it profitable.  */
  if ((optimize_function_for_size_p (cfun) || TARGET_USE_CLTD)
      && REGNO (operands[1]) == AX_REG
      && REGNO (operands[2]) == DX_REG)
    {
      emit_insn (gen_ashrsi3_cvt (operands[2], operands[1], GEN_INT (31)));
    }
  else
    {
      emit_move_insn (operands[2], operands[1]);
      emit_insn (gen_ashrsi3_cvt (operands[2], operands[2], GEN_INT (31)));
    }
  emit_move_insn (operands[4], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4410 */
extern rtx_insn *gen_peephole2_43 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_43 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_43 (i386.md:4410)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_ASHIFTRT (SImode,
	copy_rtx (operand1),
	const_int_rtx[MAX_SAVED_CONST_INT + (31)])),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit_insn (gen_rtx_SET (operand3,
	copy_rtx (operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4427 */
extern rtx_insn *gen_peephole2_44 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_44 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_44 (i386.md:4427)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_ASHIFTRT (SImode,
	copy_rtx (operand1),
	const_int_rtx[MAX_SAVED_CONST_INT + (31)])),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit_insn (gen_rtx_SET (operand3,
	copy_rtx (operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4448 */
extern rtx_insn *gen_split_45 (rtx_insn *, rtx *);
rtx_insn *
gen_split_45 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_45 (i386.md:4448)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4455 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (DImode, &operands[0], 1, &operands[3], &operands[4]);

  if (REGNO (operands[3]) != REGNO (operands[1]))
    emit_move_insn (operands[3], operands[1]);

  /* Generate a cltd if possible and doing so it profitable.  */
  if ((optimize_function_for_size_p (cfun) || TARGET_USE_CLTD)
      && REGNO (operands[3]) == AX_REG
      && REGNO (operands[4]) == DX_REG)
    {
      emit_insn (gen_ashrsi3_cvt (operands[4], operands[3], GEN_INT (31)));
      DONE;
    }

  if (REGNO (operands[4]) != REGNO (operands[1]))
    emit_move_insn (operands[4], operands[1]);

  emit_insn (gen_ashrsi3_cvt (operands[4], operands[4], GEN_INT (31)));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4593 */
extern rtx_insn *gen_split_46 (rtx_insn *, rtx *);
rtx_insn *
gen_split_46 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_46 (i386.md:4593)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	const_int_rtx[MAX_SAVED_CONST_INT + (-8)])));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (DFmode,
	gen_rtx_REG (SImode,
	7)),
	gen_rtx_FLOAT_EXTEND (DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4593 */
extern rtx_insn *gen_split_47 (rtx_insn *, rtx *);
rtx_insn *
gen_split_47 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_47 (i386.md:4593)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_REG (DImode,
	7),
	gen_rtx_PLUS (DImode,
	gen_rtx_REG (DImode,
	7),
	const_int_rtx[MAX_SAVED_CONST_INT + (-8)])));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (DFmode,
	gen_rtx_REG (DImode,
	7)),
	gen_rtx_FLOAT_EXTEND (DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4600 */
extern rtx_insn *gen_split_48 (rtx_insn *, rtx *);
rtx_insn *
gen_split_48 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_48 (i386.md:4600)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4606 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = GEN_INT (-GET_MODE_SIZE (XFmode));
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (XFmode,
	gen_rtx_REG (SImode,
	7)),
	gen_rtx_FLOAT_EXTEND (XFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4600 */
extern rtx_insn *gen_split_49 (rtx_insn *, rtx *);
rtx_insn *
gen_split_49 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_49 (i386.md:4600)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4606 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = GEN_INT (-GET_MODE_SIZE (XFmode));
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (DImode,
	7),
	gen_rtx_PLUS (DImode,
	gen_rtx_REG (DImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (XFmode,
	gen_rtx_REG (DImode,
	7)),
	gen_rtx_FLOAT_EXTEND (XFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4600 */
extern rtx_insn *gen_split_50 (rtx_insn *, rtx *);
rtx_insn *
gen_split_50 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_50 (i386.md:4600)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4606 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = GEN_INT (-GET_MODE_SIZE (XFmode));
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (XFmode,
	gen_rtx_REG (SImode,
	7)),
	gen_rtx_FLOAT_EXTEND (XFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4600 */
extern rtx_insn *gen_split_51 (rtx_insn *, rtx *);
rtx_insn *
gen_split_51 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_51 (i386.md:4600)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4606 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = GEN_INT (-GET_MODE_SIZE (XFmode));
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (DImode,
	7),
	gen_rtx_PLUS (DImode,
	gen_rtx_REG (DImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (XFmode,
	gen_rtx_REG (DImode,
	7)),
	gen_rtx_FLOAT_EXTEND (XFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4608 */
rtx
gen_extendsfdf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4612 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* ??? Needed for compress_float_constant since all fp constants
     are TARGET_LEGITIMATE_CONSTANT_P.  */
  if (CONST_DOUBLE_P (operands[1]))
    {
      if ((!TARGET_SSE2 || TARGET_MIX_SSE_I387)
	  && standard_80387_constant_p (operands[1]) > 0)
	{
	  operands[1] = simplify_const_unary_operation
	    (FLOAT_EXTEND, DFmode, operands[1], SFmode);
	  emit_move_insn_1 (operands[0], operands[1]);
	  DONE;
	}
      operands[1] = validize_mem (force_const_mem (SFmode, operands[1]));
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4673 */
extern rtx_insn *gen_split_52 (rtx_insn *, rtx *);
rtx_insn *
gen_split_52 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_52 (i386.md:4673)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4687 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = lowpart_subreg (V2DFmode, operands[0], DFmode);
  operands[3] = lowpart_subreg (V4SFmode, operands[0], DFmode);
  /* Use movss for loading from memory, unpcklps reg, reg for registers.
     Try to avoid move when unpacking can be done in source.  */
  if (REG_P (operands[1]))
    {
      /* If it is unsafe to overwrite upper half of source, we need
	 to move to destination and unpack there.  */
      if (REGNO (operands[0]) != REGNO (operands[1])
	  || (EXT_REX_SSE_REG_P (operands[1])
	      && !TARGET_AVX512VL))
	{
	  rtx tmp = lowpart_subreg (SFmode, operands[0], DFmode);
	  emit_move_insn (tmp, operands[1]);
	}
      else
	operands[3] = lowpart_subreg (V4SFmode, operands[1], SFmode);
      /* FIXME: vec_interleave_lowv4sf for AVX512VL should allow
	 =v, v, then vbroadcastss will be only needed for AVX512F without
	 AVX512VL.  */
      if (!EXT_REX_SSE_REGNO_P (REGNO (operands[3])))
	emit_insn (gen_vec_interleave_lowv4sf (operands[3], operands[3],
					       operands[3]));
      else
	{
	  rtx tmp = lowpart_subreg (V16SFmode, operands[3], V4SFmode);
	  emit_insn (gen_avx512f_vec_dupv16sf_1 (tmp, tmp));
	}
    }
  else
    emit_insn (gen_vec_setv4sf_0 (operands[3],
				  CONST0_RTX (V4SFmode), operands[1]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_FLOAT_EXTEND (V2DFmode,
	gen_rtx_VEC_SELECT (V2SFmode,
	operand3,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4723 */
extern rtx_insn *gen_peephole2_45 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_45 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_45 (i386.md:4723)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4731 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = lowpart_subreg (SFmode, operands[0], DFmode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (DFmode,
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4737 */
extern rtx_insn *gen_split_53 (rtx_insn *, rtx *);
rtx_insn *
gen_split_53 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_53 (i386.md:4737)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4756 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = lowpart_subreg (V2DFmode, operands[0], DFmode);
  emit_move_insn (operands[0], CONST0_RTX (V2DFmode));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	gen_rtx_FLOAT_EXTEND (DFmode,
	operand1)),
	copy_rtx (operand0),
	const1_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4761 */
rtx
gen_extendhfsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4766 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!TARGET_AVX512FP16)
    {
      rtx res = gen_reg_rtx (V4SFmode);
      rtx tmp = gen_reg_rtx (V8HFmode);
      rtx zero = force_reg (V8HFmode, CONST0_RTX (V8HFmode));

      emit_insn (gen_vec_setv8hf_0 (tmp, zero, operands[1]));
      emit_insn (gen_vcvtph2ps (res, gen_lowpart (V8HImode, tmp)));
      emit_move_insn (operands[0], gen_lowpart (SFmode, res));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4780 */
rtx
gen_extendhfdf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4797 */
rtx
gen_extendsfxf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4801 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* ??? Needed for compress_float_constant since all fp constants
     are TARGET_LEGITIMATE_CONSTANT_P.  */
  if (CONST_DOUBLE_P (operands[1]))
    {
      if (standard_80387_constant_p (operands[1]) > 0)
	{
	  operands[1] = simplify_const_unary_operation
	    (FLOAT_EXTEND, XFmode, operands[1], SFmode);
	  emit_move_insn_1 (operands[0], operands[1]);
	  DONE;
	}
      operands[1] = validize_mem (force_const_mem (SFmode, operands[1]));
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (XFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4797 */
rtx
gen_extenddfxf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4801 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* ??? Needed for compress_float_constant since all fp constants
     are TARGET_LEGITIMATE_CONSTANT_P.  */
  if (CONST_DOUBLE_P (operands[1]))
    {
      if (standard_80387_constant_p (operands[1]) > 0)
	{
	  operands[1] = simplify_const_unary_operation
	    (FLOAT_EXTEND, XFmode, operands[1], DFmode);
	  emit_move_insn_1 (operands[0], operands[1]);
	  DONE;
	}
      operands[1] = validize_mem (force_const_mem (DFmode, operands[1]));
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (XFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4882 */
extern rtx_insn *gen_split_54 (rtx_insn *, rtx *);
rtx_insn *
gen_split_54 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_54 (i386.md:4882)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4896 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = lowpart_subreg (V4SFmode, operands[0], SFmode);
  operands[3] = CONST0_RTX (V2SFmode);
  operands[4] = lowpart_subreg (V2DFmode, operands[0], SFmode);
  /* Use movsd for loading from memory, unpcklpd for registers.
     Try to avoid move when unpacking can be done in source, or SSE3
     movddup is available.  */
  if (REG_P (operands[1]))
    {
      if ((!TARGET_SSE3 && REGNO (operands[0]) != REGNO (operands[1]))
	  || (EXT_REX_SSE_REG_P (operands[1]) && !TARGET_AVX512VL))
	{
	  rtx tmp = lowpart_subreg (DFmode, operands[0], SFmode);
	  emit_move_insn (tmp, operands[1]);
	  operands[1] = tmp;
	}
      else if (!TARGET_SSE3)
	operands[4] = lowpart_subreg (V2DFmode, operands[1], DFmode);
      emit_insn (gen_vec_dupv2df (operands[4], operands[1]));
    }
  else
    emit_insn (gen_vec_concatv2df (operands[4], operands[1],
				   CONST0_RTX (DFmode)));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_VEC_CONCAT (V4SFmode,
	gen_rtx_FLOAT_TRUNCATE (V2SFmode,
	operand4),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4922 */
extern rtx_insn *gen_peephole2_46 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_46 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_46 (i386.md:4922)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4930 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = lowpart_subreg (DFmode, operands[0], SFmode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT_TRUNCATE (SFmode,
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4936 */
extern rtx_insn *gen_split_55 (rtx_insn *, rtx *);
rtx_insn *
gen_split_55 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_55 (i386.md:4936)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4955 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = lowpart_subreg (V4SFmode, operands[0], SFmode);
  emit_move_insn (operands[0], CONST0_RTX (V4SFmode));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_FLOAT_TRUNCATE (SFmode,
	operand1)),
	copy_rtx (operand0),
	const1_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4978 */
rtx
gen_truncsfhf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
    if (!TARGET_AVX512FP16)
    {
      rtx res = gen_reg_rtx (V8HFmode);
      rtx tmp = gen_reg_rtx (V4SFmode);
      rtx zero = force_reg (V4SFmode, CONST0_RTX (V4SFmode));

      emit_insn (gen_vec_setv4sf_0 (tmp, zero, operands[1]));
      emit_insn (gen_vcvtps2ph (gen_lowpart (V8HImode, res), tmp, GEN_INT (4)));
      emit_move_insn (operands[0], gen_lowpart (HFmode, res));
      DONE;
    }
  }
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT_TRUNCATE (HFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:4997 */
rtx
gen_truncdfhf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_TRUNCATE (HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5015 */
rtx
gen_fix_truncxfdi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5020 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_FISTTP)
   {
     emit_insn (gen_fix_truncdi_i387_fisttp (operands[0], operands[1]));
     DONE;
   }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_FIX (DImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5028 */
rtx
gen_fix_truncsfdi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5033 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_FISTTP
      && !(TARGET_64BIT && SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
   {
     emit_insn (gen_fix_truncdi_i387_fisttp (operands[0], operands[1]));
     DONE;
   }
  if (TARGET_64BIT && SSE_FLOAT_MODE_P (SFmode))
   {
     rtx out = REG_P (operands[0]) ? operands[0] : gen_reg_rtx (DImode);
     emit_insn (gen_fix_truncsfdi_sse (out, operands[1]));
     if (out != operands[0])
	emit_move_insn (operands[0], out);
     DONE;
   }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_FIX (DImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5028 */
rtx
gen_fix_truncdfdi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5033 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_FISTTP
      && !(TARGET_64BIT && SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
   {
     emit_insn (gen_fix_truncdi_i387_fisttp (operands[0], operands[1]));
     DONE;
   }
  if (TARGET_64BIT && SSE_FLOAT_MODE_P (DFmode))
   {
     rtx out = REG_P (operands[0]) ? operands[0] : gen_reg_rtx (DImode);
     emit_insn (gen_fix_truncdfdi_sse (out, operands[1]));
     if (out != operands[0])
	emit_move_insn (operands[0], out);
     DONE;
   }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_FIX (DImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5062 */
rtx
gen_fix_truncxfsi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5067 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_FISTTP)
   {
     emit_insn (gen_fix_truncsi_i387_fisttp (operands[0], operands[1]));
     DONE;
   }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_FIX (SImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5075 */
rtx
gen_fix_truncsfsi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5080 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_FISTTP
      && !(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
   {
     emit_insn (gen_fix_truncsi_i387_fisttp (operands[0], operands[1]));
     DONE;
   }
  if (SSE_FLOAT_MODE_P (SFmode))
   {
     rtx out = REG_P (operands[0]) ? operands[0] : gen_reg_rtx (SImode);
     emit_insn (gen_fix_truncsfsi_sse (out, operands[1]));
     if (out != operands[0])
	emit_move_insn (operands[0], out);
     DONE;
   }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_FIX (SImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5075 */
rtx
gen_fix_truncdfsi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5080 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_FISTTP
      && !(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
   {
     emit_insn (gen_fix_truncsi_i387_fisttp (operands[0], operands[1]));
     DONE;
   }
  if (SSE_FLOAT_MODE_P (DFmode))
   {
     rtx out = REG_P (operands[0]) ? operands[0] : gen_reg_rtx (SImode);
     emit_insn (gen_fix_truncdfsi_sse (out, operands[1]));
     if (out != operands[0])
	emit_move_insn (operands[0], out);
     DONE;
   }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_FIX (SImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5099 */
rtx
gen_fix_truncsfhi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5105 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_FISTTP)
   {
     emit_insn (gen_fix_trunchi_i387_fisttp (operands[0], operands[1]));
     DONE;
   }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_FIX (HImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5099 */
rtx
gen_fix_truncdfhi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5105 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_FISTTP)
   {
     emit_insn (gen_fix_trunchi_i387_fisttp (operands[0], operands[1]));
     DONE;
   }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_FIX (HImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5099 */
rtx
gen_fix_truncxfhi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5105 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_FISTTP)
   {
     emit_insn (gen_fix_trunchi_i387_fisttp (operands[0], operands[1]));
     DONE;
   }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_FIX (HImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5127 */
rtx
gen_fixuns_truncsfsi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5136 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = SFmode;
  machine_mode vecmode = V4SFmode;
  REAL_VALUE_TYPE TWO31r;
  rtx two31;

  if (TARGET_AVX512F)
    {
      emit_insn (gen_fixuns_truncsfsi2_avx512f (operands[0], operands[1]));
      DONE;
    }

  if (optimize_insn_for_size_p ())
    FAIL;

  real_ldexp (&TWO31r, &dconst1, 31);
  two31 = const_double_from_real_value (TWO31r, mode);
  two31 = ix86_build_const_vector (vecmode, true, two31);
  operands[2] = force_reg (vecmode, two31);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (SImode,
	operand1)),
		gen_rtx_USE (VOIDmode,
	operand2),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4SFmode)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4SFmode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5127 */
rtx
gen_fixuns_truncdfsi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5136 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = DFmode;
  machine_mode vecmode = V2DFmode;
  REAL_VALUE_TYPE TWO31r;
  rtx two31;

  if (TARGET_AVX512F)
    {
      emit_insn (gen_fixuns_truncdfsi2_avx512f (operands[0], operands[1]));
      DONE;
    }

  if (optimize_insn_for_size_p ())
    FAIL;

  real_ldexp (&TWO31r, &dconst1, 31);
  two31 = const_double_from_real_value (TWO31r, mode);
  two31 = ix86_build_const_vector (vecmode, true, two31);
  operands[2] = force_reg (vecmode, two31);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (SImode,
	operand1)),
		gen_rtx_USE (VOIDmode,
	operand2),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V2DFmode)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V2DFmode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5189 */
extern rtx_insn *gen_split_56 (rtx_insn *, rtx *);
rtx_insn *
gen_split_56 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_56 (i386.md:5189)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5201 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_split_convert_uns_si_sse (operands);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5189 */
extern rtx_insn *gen_split_57 (rtx_insn *, rtx *);
rtx_insn *
gen_split_57 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_57 (i386.md:5189)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5201 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_split_convert_uns_si_sse (operands);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5210 */
rtx
gen_fixuns_trunchfhi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5216 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_reg_rtx (SImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_FIX (SImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SUBREG (HImode,
	copy_rtx (operand2),
	0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5218 */
rtx
gen_fixuns_truncsfhi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5224 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_reg_rtx (SImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_FIX (SImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SUBREG (HImode,
	copy_rtx (operand2),
	0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5218 */
rtx
gen_fixuns_truncdfhi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5224 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_reg_rtx (SImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_FIX (SImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SUBREG (HImode,
	copy_rtx (operand2),
	0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5246 */
extern rtx_insn *gen_peephole2_47 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_47 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "x", SFmode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_47 (i386.md:5246)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FIX (SImode,
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5246 */
extern rtx_insn *gen_peephole2_48 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_48 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "x", SFmode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_48 (i386.md:5246)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FIX (DImode,
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5246 */
extern rtx_insn *gen_peephole2_49 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_49 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "x", DFmode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_49 (i386.md:5246)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FIX (SImode,
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5246 */
extern rtx_insn *gen_peephole2_50 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_50 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "x", DFmode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_50 (i386.md:5246)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FIX (DImode,
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5274 */
extern rtx_insn *gen_split_58 (rtx_insn *, rtx *);
rtx_insn *
gen_split_58 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_58 (i386.md:5274)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5286 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_optimize_mode_switching[I387_TRUNC] = 1;

  operands[2] = assign_386_stack_local (HImode, SLOT_CW_STORED);
  operands[3] = assign_386_stack_local (HImode, SLOT_CW_TRUNC);

  emit_insn (gen_fix_trunchi_i387 (operands[0], operands[1],
				       operands[2], operands[3]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5274 */
extern rtx_insn *gen_split_59 (rtx_insn *, rtx *);
rtx_insn *
gen_split_59 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_59 (i386.md:5274)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5286 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_optimize_mode_switching[I387_TRUNC] = 1;

  operands[2] = assign_386_stack_local (HImode, SLOT_CW_STORED);
  operands[3] = assign_386_stack_local (HImode, SLOT_CW_TRUNC);

  emit_insn (gen_fix_truncsi_i387 (operands[0], operands[1],
				       operands[2], operands[3]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5274 */
extern rtx_insn *gen_split_60 (rtx_insn *, rtx *);
rtx_insn *
gen_split_60 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_60 (i386.md:5274)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5286 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_optimize_mode_switching[I387_TRUNC] = 1;

  operands[2] = assign_386_stack_local (HImode, SLOT_CW_STORED);
  operands[3] = assign_386_stack_local (HImode, SLOT_CW_TRUNC);

  emit_insn (gen_fix_truncdi_i387 (operands[0], operands[1],
				       operands[2], operands[3]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5366 */
rtx
gen_floatsisf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5366 */
rtx
gen_floatdisf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5366 */
rtx
gen_floatsidf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5366 */
rtx
gen_floatdidf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5441 */
extern rtx_insn *gen_split_61 (rtx_insn *, rtx *);
rtx_insn *
gen_split_61 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_61 (i386.md:5441)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5452 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3] = lowpart_subreg (V4SFmode, operands[0], SFmode);
  operands[4] = lowpart_subreg (V4SImode, operands[0], SFmode);

  emit_insn (gen_sse2_loadld (operands[4],
			      CONST0_RTX (V4SImode), operands[1]));

  if (V4SFmode == V4SFmode)
    emit_insn (gen_floatv4siv4sf2 (operands[3], operands[4]));
  else
    emit_insn (gen_sse2_cvtdq2pd (operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5441 */
extern rtx_insn *gen_split_62 (rtx_insn *, rtx *);
rtx_insn *
gen_split_62 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_62 (i386.md:5441)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5452 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3] = lowpart_subreg (V2DFmode, operands[0], DFmode);
  operands[4] = lowpart_subreg (V4SImode, operands[0], DFmode);

  emit_insn (gen_sse2_loadld (operands[4],
			      CONST0_RTX (V4SImode), operands[1]));

  if (V2DFmode == V4SFmode)
    emit_insn (gen_floatv4siv4sf2 (operands[3], operands[4]));
  else
    emit_insn (gen_sse2_cvtdq2pd (operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5469 */
extern rtx_insn *gen_split_63 (rtx_insn *, rtx *);
rtx_insn *
gen_split_63 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_63 (i386.md:5469)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5478 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx s = assign_386_stack_local (DImode, SLOT_FLOATxFDI_387);
  emit_insn (gen_floatdisf2_i387_with_xmm (operands[0], operands[1], s));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5469 */
extern rtx_insn *gen_split_64 (rtx_insn *, rtx *);
rtx_insn *
gen_split_64 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_64 (i386.md:5469)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5478 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx s = assign_386_stack_local (DImode, SLOT_FLOATxFDI_387);
  emit_insn (gen_floatdidf2_i387_with_xmm (operands[0], operands[1], s));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5469 */
extern rtx_insn *gen_split_65 (rtx_insn *, rtx *);
rtx_insn *
gen_split_65 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_65 (i386.md:5469)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5478 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx s = assign_386_stack_local (DImode, SLOT_FLOATxFDI_387);
  emit_insn (gen_floatdixf2_i387_with_xmm (operands[0], operands[1], s));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5484 */
extern rtx_insn *gen_split_66 (rtx_insn *, rtx *);
rtx_insn *
gen_split_66 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_66 (i386.md:5484)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5498 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* The DImode arrived in a pair of integral registers (e.g. %edx:%eax).
     Assemble the 64-bit DImode value in an xmm register.  */
  emit_insn (gen_sse2_loadld (operands[3], CONST0_RTX (V4SImode),
			      gen_lowpart (SImode, operands[1])));
  if (TARGET_SSE4_1)
    emit_insn (gen_sse4_1_pinsrd (operands[3], operands[3],
				  gen_highpart (SImode, operands[1]),
				  GEN_INT (2)));
  else
    {
      emit_insn (gen_sse2_loadld (operands[4], CONST0_RTX (V4SImode),
				  gen_highpart (SImode, operands[1])));
      emit_insn (gen_vec_interleave_lowv4si (operands[3], operands[3],
					     operands[4]));
    }
  operands[3] = gen_lowpart (DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand3));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT (SFmode,
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5484 */
extern rtx_insn *gen_split_67 (rtx_insn *, rtx *);
rtx_insn *
gen_split_67 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_67 (i386.md:5484)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5498 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* The DImode arrived in a pair of integral registers (e.g. %edx:%eax).
     Assemble the 64-bit DImode value in an xmm register.  */
  emit_insn (gen_sse2_loadld (operands[3], CONST0_RTX (V4SImode),
			      gen_lowpart (SImode, operands[1])));
  if (TARGET_SSE4_1)
    emit_insn (gen_sse4_1_pinsrd (operands[3], operands[3],
				  gen_highpart (SImode, operands[1]),
				  GEN_INT (2)));
  else
    {
      emit_insn (gen_sse2_loadld (operands[4], CONST0_RTX (V4SImode),
				  gen_highpart (SImode, operands[1])));
      emit_insn (gen_vec_interleave_lowv4si (operands[3], operands[3],
					     operands[4]));
    }
  operands[3] = gen_lowpart (DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand3));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT (DFmode,
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5484 */
extern rtx_insn *gen_split_68 (rtx_insn *, rtx *);
rtx_insn *
gen_split_68 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_68 (i386.md:5484)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5498 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* The DImode arrived in a pair of integral registers (e.g. %edx:%eax).
     Assemble the 64-bit DImode value in an xmm register.  */
  emit_insn (gen_sse2_loadld (operands[3], CONST0_RTX (V4SImode),
			      gen_lowpart (SImode, operands[1])));
  if (TARGET_SSE4_1)
    emit_insn (gen_sse4_1_pinsrd (operands[3], operands[3],
				  gen_highpart (SImode, operands[1]),
				  GEN_INT (2)));
  else
    {
      emit_insn (gen_sse2_loadld (operands[4], CONST0_RTX (V4SImode),
				  gen_highpart (SImode, operands[1])));
      emit_insn (gen_vec_interleave_lowv4si (operands[3], operands[3],
					     operands[4]));
    }
  operands[3] = gen_lowpart (DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand3));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT (XFmode,
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5526 */
extern rtx_insn *gen_split_69 (rtx_insn *, rtx *);
rtx_insn *
gen_split_69 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_69 (i386.md:5526)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5542 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  const machine_mode vmode = V4SFmode;

  operands[0] = lowpart_subreg (vmode, operands[0], SFmode);
  emit_move_insn (operands[0], CONST0_RTX (vmode));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_FLOAT (SFmode,
	operand1)),
	copy_rtx (operand0),
	const1_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5526 */
extern rtx_insn *gen_split_70 (rtx_insn *, rtx *);
rtx_insn *
gen_split_70 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_70 (i386.md:5526)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5542 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  const machine_mode vmode = V4SFmode;

  operands[0] = lowpart_subreg (vmode, operands[0], SFmode);
  emit_move_insn (operands[0], CONST0_RTX (vmode));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	gen_rtx_FLOAT (SFmode,
	operand1)),
	copy_rtx (operand0),
	const1_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5526 */
extern rtx_insn *gen_split_71 (rtx_insn *, rtx *);
rtx_insn *
gen_split_71 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_71 (i386.md:5526)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5542 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  const machine_mode vmode = V2DFmode;

  operands[0] = lowpart_subreg (vmode, operands[0], DFmode);
  emit_move_insn (operands[0], CONST0_RTX (vmode));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	gen_rtx_FLOAT (DFmode,
	operand1)),
	copy_rtx (operand0),
	const1_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5526 */
extern rtx_insn *gen_split_72 (rtx_insn *, rtx *);
rtx_insn *
gen_split_72 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_72 (i386.md:5526)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5542 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  const machine_mode vmode = V2DFmode;

  operands[0] = lowpart_subreg (vmode, operands[0], DFmode);
  emit_move_insn (operands[0], CONST0_RTX (vmode));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	gen_rtx_FLOAT (DFmode,
	operand1)),
	copy_rtx (operand0),
	const1_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5549 */
rtx
gen_floatunsqisf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5555 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = convert_to_mode (SImode, operands[1], 1);
  emit_insn (gen_floatsisf2 (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5549 */
rtx
gen_floatunshisf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5555 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = convert_to_mode (SImode, operands[1], 1);
  emit_insn (gen_floatsisf2 (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5549 */
rtx
gen_floatunsqidf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5555 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = convert_to_mode (SImode, operands[1], 1);
  emit_insn (gen_floatsidf2 (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5549 */
rtx
gen_floatunshidf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5555 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = convert_to_mode (SImode, operands[1], 1);
  emit_insn (gen_floatsidf2 (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5576 */
extern rtx_insn *gen_split_73 (rtx_insn *, rtx *);
rtx_insn *
gen_split_73 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_73 (i386.md:5576)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5591 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand2,
	copy_rtx (operand3)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT (SFmode,
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5576 */
extern rtx_insn *gen_split_74 (rtx_insn *, rtx *);
rtx_insn *
gen_split_74 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_74 (i386.md:5576)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5591 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand2,
	copy_rtx (operand3)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT (DFmode,
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5576 */
extern rtx_insn *gen_split_75 (rtx_insn *, rtx *);
rtx_insn *
gen_split_75 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_75 (i386.md:5576)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5591 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand2,
	copy_rtx (operand3)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT (XFmode,
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5595 */
rtx
gen_floatunssisf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5604 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
    {
      emit_insn (gen_floatunssisf2_i387_with_xmm
		  (operands[0], operands[1],
		   assign_386_stack_local (DImode, SLOT_TEMP)));
      DONE;
    }
  if (!TARGET_AVX512F)
    {
      ix86_expand_convert_uns_sisf_sse (operands[0], operands[1]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5595 */
rtx
gen_floatunssidf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5604 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
    {
      emit_insn (gen_floatunssidf2_i387_with_xmm
		  (operands[0], operands[1],
		   assign_386_stack_local (DImode, SLOT_TEMP)));
      DONE;
    }
  if (!TARGET_AVX512F)
    {
      ix86_expand_convert_uns_sidf_sse (operands[0], operands[1]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5595 */
rtx
gen_floatunssixf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5604 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!(SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH))
    {
      emit_insn (gen_floatunssixf2_i387_with_xmm
		  (operands[0], operands[1],
		   assign_386_stack_local (DImode, SLOT_TEMP)));
      DONE;
    }
  if (!TARGET_AVX512F)
    {
      ix86_expand_convert_uns_sixf_sse (operands[0], operands[1]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (XFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5619 */
rtx
gen_floatunsdisf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5624 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!TARGET_AVX512F)
    {
      x86_emit_floatuns (operands);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5632 */
rtx
gen_floatunsdidf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5639 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!TARGET_64BIT)
    {
      ix86_expand_convert_uns_didf_sse (operands[0], operands[1]);
      DONE;
    }
  if (!TARGET_AVX512F)
    {
      x86_emit_floatuns (operands);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5674 */
extern rtx_insn *gen_peephole2_51 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_51 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_51 (i386.md:5674)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5681 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = SImode;

  /* Emit all operations in SImode for zero-extended addresses.  */
  if (SImode_address_operand (operands[1], VOIDmode))
    mode = SImode;

  ix86_split_lea_for_addr (peep2_next_insn (0), operands, mode);

  /* Zero-extend return register to DImode for zero-extended addresses.  */
  if (mode != SImode)
    emit_insn (gen_zero_extendsidi2 (operands[0],
				     gen_lowpart (mode, operands[0])));

  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5674 */
extern rtx_insn *gen_peephole2_52 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_52 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_52 (i386.md:5674)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5681 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = DImode;

  /* Emit all operations in SImode for zero-extended addresses.  */
  if (SImode_address_operand (operands[1], VOIDmode))
    mode = SImode;

  ix86_split_lea_for_addr (peep2_next_insn (0), operands, mode);

  /* Zero-extend return register to DImode for zero-extended addresses.  */
  if (mode != DImode)
    emit_insn (gen_zero_extendsidi2 (operands[0],
				     gen_lowpart (mode, operands[0])));

  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5701 */
extern rtx_insn *gen_split_76 (rtx_insn *, rtx *);
rtx_insn *
gen_split_76 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_76 (i386.md:5701)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5708 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[1] = GEN_INT (exact_log2 (INTVAL (operands[1])));
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (SImode,
	copy_rtx (operand0),
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5701 */
extern rtx_insn *gen_split_77 (rtx_insn *, rtx *);
rtx_insn *
gen_split_77 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_77 (i386.md:5701)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5708 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[1] = GEN_INT (exact_log2 (INTVAL (operands[1])));
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (DImode,
	copy_rtx (operand0),
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5712 */
rtx
gen_addqi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5717 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (PLUS, QImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5712 */
rtx
gen_addhi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5717 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (PLUS, HImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5712 */
rtx
gen_addsi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5717 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (PLUS, SImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5712 */
rtx
gen_adddi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5717 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (PLUS, DImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5712 */
rtx
gen_addti3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5717 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (PLUS, TImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (TImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5719 */
extern rtx_insn *gen_split_78 (rtx_insn *, rtx *);
rtx_insn *
gen_split_78 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_78 (i386.md:5719)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5741 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (DImode, &operands[0], 3, &operands[0], &operands[3]);
  if (operands[2] == const0_rtx)
    {
      ix86_expand_binary_operator (PLUS, SImode, &operands[3]);
      DONE;
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (SImode,
	operand1,
	operand2),
	copy_rtx (operand1))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand3,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand4),
	operand5)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5719 */
extern rtx_insn *gen_split_79 (rtx_insn *, rtx *);
rtx_insn *
gen_split_79 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_79 (i386.md:5719)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5741 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (TImode, &operands[0], 3, &operands[0], &operands[3]);
  if (operands[2] == const0_rtx)
    {
      ix86_expand_binary_operator (PLUS, DImode, &operands[3]);
      DONE;
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (DImode,
	operand1,
	operand2),
	copy_rtx (operand1))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand3,
	gen_rtx_PLUS (DImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand4),
	operand5)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5967 */
extern rtx_insn *gen_split_80 (rtx_insn *, rtx *);
rtx_insn *
gen_split_80 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_80 (i386.md:5967)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_PLUS (QImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:5967 */
extern rtx_insn *gen_split_81 (rtx_insn *, rtx *);
rtx_insn *
gen_split_81 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_81 (i386.md:5967)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_PLUS (HImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6009 */
extern rtx_insn *gen_split_82 (rtx_insn *, rtx *);
rtx_insn *
gen_split_82 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_82 (i386.md:6009)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_PLUS (SImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6009 */
extern rtx_insn *gen_split_83 (rtx_insn *, rtx *);
rtx_insn *
gen_split_83 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_83 (i386.md:6009)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_PLUS (DImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6020 */
extern rtx_insn *gen_split_84 (rtx_insn *, rtx *);
rtx_insn *
gen_split_84 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_84 (i386.md:6020)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = gen_lowpart (SImode, operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_PLUS (SImode,
	copy_rtx (operand3),
	operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6035 */
extern rtx_insn *gen_split_85 (rtx_insn *, rtx *);
rtx_insn *
gen_split_85 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_85 (i386.md:6035)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6043 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (QImode != SImode)
    {
      operands[0] = gen_lowpart (SImode, operands[0]);
      operands[1] = gen_lowpart (SImode, operands[1]);
      operands[2] = gen_lowpart (SImode, operands[2]);
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6035 */
extern rtx_insn *gen_split_86 (rtx_insn *, rtx *);
rtx_insn *
gen_split_86 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_86 (i386.md:6035)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6043 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (HImode != SImode)
    {
      operands[0] = gen_lowpart (SImode, operands[0]);
      operands[1] = gen_lowpart (SImode, operands[1]);
      operands[2] = gen_lowpart (SImode, operands[2]);
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6035 */
extern rtx_insn *gen_split_87 (rtx_insn *, rtx *);
rtx_insn *
gen_split_87 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_87 (i386.md:6035)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6043 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (SImode != SImode)
    {
      operands[0] = gen_lowpart (SImode, operands[0]);
      operands[1] = gen_lowpart (SImode, operands[1]);
      operands[2] = gen_lowpart (SImode, operands[2]);
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6035 */
extern rtx_insn *gen_split_88 (rtx_insn *, rtx *);
rtx_insn *
gen_split_88 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_88 (i386.md:6035)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6043 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (DImode != DImode)
    {
      operands[0] = gen_lowpart (DImode, operands[0]);
      operands[1] = gen_lowpart (DImode, operands[1]);
      operands[2] = gen_lowpart (DImode, operands[2]);
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6053 */
extern rtx_insn *gen_split_89 (rtx_insn *, rtx *);
rtx_insn *
gen_split_89 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_89 (i386.md:6053)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_PLUS (SImode,
	operand1,
	operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6370 */
rtx
gen_addqi_ext_1 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (HImode,
	operand0,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (HImode,
	gen_rtx_PLUS (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (HImode,
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand2),
	0)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6452 */
rtx
gen_addvqi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6470 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_fixup_binary_operands_no_copy (PLUS, QImode, operands);
  if (CONST_SCALAR_INT_P (operands[2]))
    operands[4] = operands[2];
  else
    operands[4] = gen_rtx_SIGN_EXTEND (HImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_PLUS (HImode,
	gen_rtx_SIGN_EXTEND (HImode,
	operand1),
	operand4),
	gen_rtx_SIGN_EXTEND (HImode,
	gen_rtx_PLUS (QImode,
	copy_rtx (operand1),
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (QImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6452 */
rtx
gen_addvhi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6470 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_fixup_binary_operands_no_copy (PLUS, HImode, operands);
  if (CONST_SCALAR_INT_P (operands[2]))
    operands[4] = operands[2];
  else
    operands[4] = gen_rtx_SIGN_EXTEND (SImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_PLUS (SImode,
	gen_rtx_SIGN_EXTEND (SImode,
	operand1),
	operand4),
	gen_rtx_SIGN_EXTEND (SImode,
	gen_rtx_PLUS (HImode,
	copy_rtx (operand1),
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (HImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6452 */
rtx
gen_addvsi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6470 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_fixup_binary_operands_no_copy (PLUS, SImode, operands);
  if (CONST_SCALAR_INT_P (operands[2]))
    operands[4] = operands[2];
  else
    operands[4] = gen_rtx_SIGN_EXTEND (DImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_PLUS (DImode,
	gen_rtx_SIGN_EXTEND (DImode,
	operand1),
	operand4),
	gen_rtx_SIGN_EXTEND (DImode,
	gen_rtx_PLUS (SImode,
	copy_rtx (operand1),
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6452 */
rtx
gen_addvdi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6470 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_fixup_binary_operands_no_copy (PLUS, DImode, operands);
  if (CONST_SCALAR_INT_P (operands[2]))
    operands[4] = operands[2];
  else
    operands[4] = gen_rtx_SIGN_EXTEND (TImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_PLUS (TImode,
	gen_rtx_SIGN_EXTEND (TImode,
	operand1),
	operand4),
	gen_rtx_SIGN_EXTEND (TImode,
	gen_rtx_PLUS (DImode,
	copy_rtx (operand1),
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6452 */
rtx
gen_addvti4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6470 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_fixup_binary_operands_no_copy (PLUS, TImode, operands);
  if (CONST_SCALAR_INT_P (operands[2]))
    operands[4] = operands[2];
  else
    operands[4] = gen_rtx_SIGN_EXTEND (POImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_PLUS (POImode,
	gen_rtx_SIGN_EXTEND (POImode,
	operand1),
	operand4),
	gen_rtx_SIGN_EXTEND (POImode,
	gen_rtx_PLUS (TImode,
	copy_rtx (operand1),
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (TImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6522 */
extern rtx_insn *gen_split_90 (rtx_insn *, rtx *);
rtx_insn *
gen_split_90 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_90 (i386.md:6522)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (DImode, &operands[0], 3, &operands[0], &operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (SImode,
	operand1,
	operand2),
	copy_rtx (operand1))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_PLUS (DImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	gen_rtx_SIGN_EXTEND (DImode,
	operand4)),
	gen_rtx_SIGN_EXTEND (DImode,
	operand5)),
	gen_rtx_SIGN_EXTEND (DImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	copy_rtx (operand4)),
	copy_rtx (operand5))))),
		gen_rtx_SET (operand3,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	copy_rtx (operand4)),
	copy_rtx (operand5))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6522 */
extern rtx_insn *gen_split_91 (rtx_insn *, rtx *);
rtx_insn *
gen_split_91 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_91 (i386.md:6522)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (TImode, &operands[0], 3, &operands[0], &operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (DImode,
	operand1,
	operand2),
	copy_rtx (operand1))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_PLUS (TImode,
	gen_rtx_PLUS (TImode,
	gen_rtx_LTU (TImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	gen_rtx_SIGN_EXTEND (TImode,
	operand4)),
	gen_rtx_SIGN_EXTEND (TImode,
	operand5)),
	gen_rtx_SIGN_EXTEND (TImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	copy_rtx (operand4)),
	copy_rtx (operand5))))),
		gen_rtx_SET (operand3,
	gen_rtx_PLUS (DImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	copy_rtx (operand4)),
	copy_rtx (operand5))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6566 */
extern rtx_insn *gen_split_92 (rtx_insn *, rtx *);
rtx_insn *
gen_split_92 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_92 (i386.md:6566)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6609 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (DImode, &operands[0], 3, &operands[0], &operands[3]);
  if (operands[2] == const0_rtx)
    {
      emit_insn (gen_addvsi4_1 (operands[3], operands[4], operands[5],
				    operands[5]));
      DONE;
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (SImode,
	operand1,
	operand2),
	copy_rtx (operand1))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_PLUS (DImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	gen_rtx_SIGN_EXTEND (DImode,
	operand4)),
	operand5),
	gen_rtx_SIGN_EXTEND (DImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	copy_rtx (operand4)),
	copy_rtx (operand5))))),
		gen_rtx_SET (operand3,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	copy_rtx (operand4)),
	copy_rtx (operand5))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6566 */
extern rtx_insn *gen_split_93 (rtx_insn *, rtx *);
rtx_insn *
gen_split_93 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_93 (i386.md:6566)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6609 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (TImode, &operands[0], 3, &operands[0], &operands[3]);
  if (operands[2] == const0_rtx)
    {
      emit_insn (gen_addvdi4_1 (operands[3], operands[4], operands[5],
				    operands[5]));
      DONE;
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (DImode,
	operand1,
	operand2),
	copy_rtx (operand1))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_PLUS (TImode,
	gen_rtx_PLUS (TImode,
	gen_rtx_LTU (TImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	gen_rtx_SIGN_EXTEND (TImode,
	operand4)),
	operand5),
	gen_rtx_SIGN_EXTEND (TImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	copy_rtx (operand4)),
	copy_rtx (operand5))))),
		gen_rtx_SET (operand3,
	gen_rtx_PLUS (DImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	copy_rtx (operand4)),
	copy_rtx (operand5))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6682 */
rtx
gen_uaddvqi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6696 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_fixup_binary_operands_no_copy (PLUS, QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (QImode,
	operand1,
	operand2),
	copy_rtx (operand1))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (QImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_LTU (VOIDmode,
	gen_rtx_REG (CCCmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6682 */
rtx
gen_uaddvhi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6696 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_fixup_binary_operands_no_copy (PLUS, HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (HImode,
	operand1,
	operand2),
	copy_rtx (operand1))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (HImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_LTU (VOIDmode,
	gen_rtx_REG (CCCmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6682 */
rtx
gen_uaddvsi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6696 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_fixup_binary_operands_no_copy (PLUS, SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (SImode,
	operand1,
	operand2),
	copy_rtx (operand1))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_LTU (VOIDmode,
	gen_rtx_REG (CCCmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6682 */
rtx
gen_uaddvdi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6696 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_fixup_binary_operands_no_copy (PLUS, DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (DImode,
	operand1,
	operand2),
	copy_rtx (operand1))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_LTU (VOIDmode,
	gen_rtx_REG (CCCmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6682 */
rtx
gen_uaddvti4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6696 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_fixup_binary_operands_no_copy (PLUS, TImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (TImode,
	operand1,
	operand2),
	copy_rtx (operand1))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (TImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_LTU (VOIDmode,
	gen_rtx_REG (CCCmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6701 */
extern rtx_insn *gen_split_94 (rtx_insn *, rtx *);
rtx_insn *
gen_split_94 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_94 (i386.md:6701)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[2] = gen_lowpart (SImode, operands[2]);
  operands[3] = gen_lowpart (SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	operand1,
	operand2),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6701 */
extern rtx_insn *gen_split_95 (rtx_insn *, rtx *);
rtx_insn *
gen_split_95 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_95 (i386.md:6701)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[2] = gen_lowpart (SImode, operands[2]);
  operands[3] = gen_lowpart (SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	operand1,
	operand2),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6723 */
extern rtx_insn *gen_split_96 (rtx_insn *, rtx *);
rtx_insn *
gen_split_96 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_96 (i386.md:6723)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6736 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[3] = gen_lowpart (SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_MULT (SImode,
	operand1,
	operand2),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6723 */
extern rtx_insn *gen_split_97 (rtx_insn *, rtx *);
rtx_insn *
gen_split_97 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_97 (i386.md:6723)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6736 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[3] = gen_lowpart (SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_MULT (SImode,
	operand1,
	operand2),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6744 */
extern rtx_insn *gen_split_98 (rtx_insn *, rtx *);
rtx_insn *
gen_split_98 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_98 (i386.md:6744)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6757 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[3] = gen_lowpart (SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_ASHIFT (SImode,
	operand1,
	operand2),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6744 */
extern rtx_insn *gen_split_99 (rtx_insn *, rtx *);
rtx_insn *
gen_split_99 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_99 (i386.md:6744)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6757 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[3] = gen_lowpart (SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_ASHIFT (SImode,
	operand1,
	operand2),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6765 */
extern rtx_insn *gen_split_100 (rtx_insn *, rtx *);
rtx_insn *
gen_split_100 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_100 (i386.md:6765)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6782 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[3] = gen_lowpart (SImode, operands[3]);
  operands[4] = gen_lowpart (SImode, operands[4]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_MULT (SImode,
	operand1,
	operand2),
	operand3),
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6765 */
extern rtx_insn *gen_split_101 (rtx_insn *, rtx *);
rtx_insn *
gen_split_101 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_101 (i386.md:6765)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6782 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[3] = gen_lowpart (SImode, operands[3]);
  operands[4] = gen_lowpart (SImode, operands[4]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_MULT (SImode,
	operand1,
	operand2),
	operand3),
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6791 */
extern rtx_insn *gen_split_102 (rtx_insn *, rtx *);
rtx_insn *
gen_split_102 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_102 (i386.md:6791)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6808 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[3] = gen_lowpart (SImode, operands[3]);
  operands[4] = gen_lowpart (SImode, operands[4]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_ASHIFT (SImode,
	operand1,
	operand2),
	operand3),
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6791 */
extern rtx_insn *gen_split_103 (rtx_insn *, rtx *);
rtx_insn *
gen_split_103 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_103 (i386.md:6791)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6808 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[3] = gen_lowpart (SImode, operands[3]);
  operands[4] = gen_lowpart (SImode, operands[4]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_ASHIFT (SImode,
	operand1,
	operand2),
	operand3),
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6817 */
extern rtx_insn *gen_split_104 (rtx_insn *, rtx *);
rtx_insn *
gen_split_104 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_104 (i386.md:6817)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6833 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[2] = GEN_INT (1 << INTVAL (operands[2]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_MULT (SImode,
	operand1,
	operand2),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6817 */
extern rtx_insn *gen_split_105 (rtx_insn *, rtx *);
rtx_insn *
gen_split_105 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_105 (i386.md:6817)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6833 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[2] = GEN_INT (1 << INTVAL (operands[2]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_MULT (SImode,
	operand1,
	operand2),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6817 */
extern rtx_insn *gen_split_106 (rtx_insn *, rtx *);
rtx_insn *
gen_split_106 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_106 (i386.md:6817)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6833 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[2] = GEN_INT (1 << INTVAL (operands[2]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_MULT (SImode,
	operand1,
	operand2),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6817 */
extern rtx_insn *gen_split_107 (rtx_insn *, rtx *);
rtx_insn *
gen_split_107 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_107 (i386.md:6817)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6833 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[2] = GEN_INT (1 << INTVAL (operands[2]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_MULT (SImode,
	operand1,
	operand2),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6841 */
extern rtx_insn *gen_split_108 (rtx_insn *, rtx *);
rtx_insn *
gen_split_108 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_108 (i386.md:6841)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6856 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = GEN_INT (1 << INTVAL (operands[2]));
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_MULT (SImode,
	operand1,
	operand2),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6841 */
extern rtx_insn *gen_split_109 (rtx_insn *, rtx *);
rtx_insn *
gen_split_109 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_109 (i386.md:6841)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6856 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = GEN_INT (1 << INTVAL (operands[2]));
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_MULT (SImode,
	operand1,
	operand2),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6841 */
extern rtx_insn *gen_split_110 (rtx_insn *, rtx *);
rtx_insn *
gen_split_110 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_110 (i386.md:6841)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6856 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = GEN_INT (1 << INTVAL (operands[2]));
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	gen_rtx_MULT (DImode,
	operand1,
	operand2),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6841 */
extern rtx_insn *gen_split_111 (rtx_insn *, rtx *);
rtx_insn *
gen_split_111 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_111 (i386.md:6841)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6856 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = GEN_INT (1 << INTVAL (operands[2]));
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	gen_rtx_MULT (DImode,
	operand1,
	operand2),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6862 */
rtx
gen_subqi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6867 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (MINUS, QImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6862 */
rtx
gen_subhi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6867 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (MINUS, HImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6862 */
rtx
gen_subsi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6867 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (MINUS, SImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6862 */
rtx
gen_subdi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6867 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (MINUS, DImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6862 */
rtx
gen_subti3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6867 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (MINUS, TImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (TImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6869 */
extern rtx_insn *gen_split_112 (rtx_insn *, rtx *);
rtx_insn *
gen_split_112 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_112 (i386.md:6869)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6889 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (DImode, &operands[0], 3, &operands[0], &operands[3]);
  if (operands[2] == const0_rtx)
    {
      ix86_expand_binary_operator (MINUS, SImode, &operands[3]);
      DONE;
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (SImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand3,
	gen_rtx_MINUS (SImode,
	gen_rtx_MINUS (SImode,
	operand4,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	operand5)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6869 */
extern rtx_insn *gen_split_113 (rtx_insn *, rtx *);
rtx_insn *
gen_split_113 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_113 (i386.md:6869)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6889 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (TImode, &operands[0], 3, &operands[0], &operands[3]);
  if (operands[2] == const0_rtx)
    {
      ix86_expand_binary_operator (MINUS, DImode, &operands[3]);
      DONE;
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (DImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand3,
	gen_rtx_MINUS (DImode,
	gen_rtx_MINUS (DImode,
	operand4,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	operand5)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6921 */
extern rtx_insn *gen_split_114 (rtx_insn *, rtx *);
rtx_insn *
gen_split_114 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_114 (i386.md:6921)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6936 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_MINUS (QImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6921 */
extern rtx_insn *gen_split_115 (rtx_insn *, rtx *);
rtx_insn *
gen_split_115 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_115 (i386.md:6921)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6936 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_MINUS (HImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6996 */
rtx
gen_subvqi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7014 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_fixup_binary_operands_no_copy (MINUS, QImode, operands);
  if (CONST_SCALAR_INT_P (operands[2]))
    operands[4] = operands[2];
  else
    operands[4] = gen_rtx_SIGN_EXTEND (HImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_MINUS (HImode,
	gen_rtx_SIGN_EXTEND (HImode,
	operand1),
	operand4),
	gen_rtx_SIGN_EXTEND (HImode,
	gen_rtx_MINUS (QImode,
	copy_rtx (operand1),
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (QImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6996 */
rtx
gen_subvhi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7014 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_fixup_binary_operands_no_copy (MINUS, HImode, operands);
  if (CONST_SCALAR_INT_P (operands[2]))
    operands[4] = operands[2];
  else
    operands[4] = gen_rtx_SIGN_EXTEND (SImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_MINUS (SImode,
	gen_rtx_SIGN_EXTEND (SImode,
	operand1),
	operand4),
	gen_rtx_SIGN_EXTEND (SImode,
	gen_rtx_MINUS (HImode,
	copy_rtx (operand1),
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (HImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6996 */
rtx
gen_subvsi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7014 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_fixup_binary_operands_no_copy (MINUS, SImode, operands);
  if (CONST_SCALAR_INT_P (operands[2]))
    operands[4] = operands[2];
  else
    operands[4] = gen_rtx_SIGN_EXTEND (DImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_MINUS (DImode,
	gen_rtx_SIGN_EXTEND (DImode,
	operand1),
	operand4),
	gen_rtx_SIGN_EXTEND (DImode,
	gen_rtx_MINUS (SImode,
	copy_rtx (operand1),
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (SImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6996 */
rtx
gen_subvdi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7014 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_fixup_binary_operands_no_copy (MINUS, DImode, operands);
  if (CONST_SCALAR_INT_P (operands[2]))
    operands[4] = operands[2];
  else
    operands[4] = gen_rtx_SIGN_EXTEND (TImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_MINUS (TImode,
	gen_rtx_SIGN_EXTEND (TImode,
	operand1),
	operand4),
	gen_rtx_SIGN_EXTEND (TImode,
	gen_rtx_MINUS (DImode,
	copy_rtx (operand1),
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (DImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:6996 */
rtx
gen_subvti4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7014 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_fixup_binary_operands_no_copy (MINUS, TImode, operands);
  if (CONST_SCALAR_INT_P (operands[2]))
    operands[4] = operands[2];
  else
    operands[4] = gen_rtx_SIGN_EXTEND (POImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_MINUS (POImode,
	gen_rtx_SIGN_EXTEND (POImode,
	operand1),
	operand4),
	gen_rtx_SIGN_EXTEND (POImode,
	gen_rtx_MINUS (TImode,
	copy_rtx (operand1),
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (TImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7063 */
extern rtx_insn *gen_split_116 (rtx_insn *, rtx *);
rtx_insn *
gen_split_116 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_116 (i386.md:7063)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7101 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (DImode, &operands[0], 3, &operands[0], &operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (SImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_MINUS (DImode,
	gen_rtx_MINUS (DImode,
	gen_rtx_SIGN_EXTEND (DImode,
	operand4),
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	gen_rtx_SIGN_EXTEND (DImode,
	operand5)),
	gen_rtx_SIGN_EXTEND (DImode,
	gen_rtx_MINUS (SImode,
	gen_rtx_MINUS (SImode,
	copy_rtx (operand4),
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	copy_rtx (operand5))))),
		gen_rtx_SET (operand3,
	gen_rtx_MINUS (SImode,
	gen_rtx_MINUS (SImode,
	copy_rtx (operand4),
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	copy_rtx (operand5))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7063 */
extern rtx_insn *gen_split_117 (rtx_insn *, rtx *);
rtx_insn *
gen_split_117 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_117 (i386.md:7063)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7101 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (TImode, &operands[0], 3, &operands[0], &operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (DImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_MINUS (TImode,
	gen_rtx_MINUS (TImode,
	gen_rtx_SIGN_EXTEND (TImode,
	operand4),
	gen_rtx_LTU (TImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	gen_rtx_SIGN_EXTEND (TImode,
	operand5)),
	gen_rtx_SIGN_EXTEND (TImode,
	gen_rtx_MINUS (DImode,
	gen_rtx_MINUS (DImode,
	copy_rtx (operand4),
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	copy_rtx (operand5))))),
		gen_rtx_SET (operand3,
	gen_rtx_MINUS (DImode,
	gen_rtx_MINUS (DImode,
	copy_rtx (operand4),
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	copy_rtx (operand5))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7105 */
extern rtx_insn *gen_split_118 (rtx_insn *, rtx *);
rtx_insn *
gen_split_118 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_118 (i386.md:7105)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (DImode, &operands[0], 3, &operands[0], &operands[3]);
  if (operands[2] == const0_rtx)
    {
      emit_insn (gen_subvsi4_1 (operands[3], operands[4], operands[5],
				    operands[5]));
      DONE;
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (SImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_MINUS (DImode,
	gen_rtx_MINUS (DImode,
	gen_rtx_SIGN_EXTEND (DImode,
	operand4),
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	operand5),
	gen_rtx_SIGN_EXTEND (DImode,
	gen_rtx_MINUS (SImode,
	gen_rtx_MINUS (SImode,
	copy_rtx (operand4),
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	copy_rtx (operand5))))),
		gen_rtx_SET (operand3,
	gen_rtx_MINUS (SImode,
	gen_rtx_MINUS (SImode,
	copy_rtx (operand4),
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	copy_rtx (operand5))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7105 */
extern rtx_insn *gen_split_119 (rtx_insn *, rtx *);
rtx_insn *
gen_split_119 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_119 (i386.md:7105)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (TImode, &operands[0], 3, &operands[0], &operands[3]);
  if (operands[2] == const0_rtx)
    {
      emit_insn (gen_subvdi4_1 (operands[3], operands[4], operands[5],
				    operands[5]));
      DONE;
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (DImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_MINUS (TImode,
	gen_rtx_MINUS (TImode,
	gen_rtx_SIGN_EXTEND (TImode,
	operand4),
	gen_rtx_LTU (TImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	operand5),
	gen_rtx_SIGN_EXTEND (TImode,
	gen_rtx_MINUS (DImode,
	gen_rtx_MINUS (DImode,
	copy_rtx (operand4),
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	copy_rtx (operand5))))),
		gen_rtx_SET (operand3,
	gen_rtx_MINUS (DImode,
	gen_rtx_MINUS (DImode,
	copy_rtx (operand4),
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	copy_rtx (operand5))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7219 */
rtx
gen_usubvqi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7231 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_fixup_binary_operands_no_copy (MINUS, QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (QImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_LTU (VOIDmode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7219 */
rtx
gen_usubvhi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7231 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_fixup_binary_operands_no_copy (MINUS, HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (HImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_LTU (VOIDmode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7219 */
rtx
gen_usubvsi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7231 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_fixup_binary_operands_no_copy (MINUS, SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (SImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_LTU (VOIDmode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7219 */
rtx
gen_usubvdi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7231 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_fixup_binary_operands_no_copy (MINUS, DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (DImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_LTU (VOIDmode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7245 */
extern rtx_insn *gen_peephole2_53 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_53 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_53 (i386.md:7245)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand0,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7245 */
extern rtx_insn *gen_peephole2_54 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_54 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_54 (i386.md:7245)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand0,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7245 */
extern rtx_insn *gen_peephole2_55 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_55 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_55 (i386.md:7245)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand0,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7245 */
extern rtx_insn *gen_peephole2_56 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_56 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_56 (i386.md:7245)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand0,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7258 */
extern rtx_insn *gen_peephole2_57 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_57 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_57 (i386.md:7258)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7280 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx cc = gen_rtx_REG (CCmode, FLAGS_REG);
  operands[3] = gen_rtx_fmt_ee (GET_CODE (operands[1]) == NE
				? GEU : LTU, VOIDmode, cc, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand0,
	const1_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_MINUS (QImode,
	copy_rtx (operand0),
	const1_rtx)))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	operand3,
	operand2,
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7258 */
extern rtx_insn *gen_peephole2_58 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_58 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_58 (i386.md:7258)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7280 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx cc = gen_rtx_REG (CCmode, FLAGS_REG);
  operands[3] = gen_rtx_fmt_ee (GET_CODE (operands[1]) == NE
				? GEU : LTU, VOIDmode, cc, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand0,
	const1_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_MINUS (HImode,
	copy_rtx (operand0),
	const1_rtx)))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	operand3,
	operand2,
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7258 */
extern rtx_insn *gen_peephole2_59 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_59 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_59 (i386.md:7258)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7280 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx cc = gen_rtx_REG (CCmode, FLAGS_REG);
  operands[3] = gen_rtx_fmt_ee (GET_CODE (operands[1]) == NE
				? GEU : LTU, VOIDmode, cc, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand0,
	const1_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_MINUS (SImode,
	copy_rtx (operand0),
	const1_rtx)))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	operand3,
	operand2,
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7258 */
extern rtx_insn *gen_peephole2_60 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_60 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_60 (i386.md:7258)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7280 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx cc = gen_rtx_REG (CCmode, FLAGS_REG);
  operands[3] = gen_rtx_fmt_ee (GET_CODE (operands[1]) == NE
				? GEU : LTU, VOIDmode, cc, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand0,
	const1_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_MINUS (DImode,
	copy_rtx (operand0),
	const1_rtx)))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	operand3,
	operand2,
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7287 */
extern rtx_insn *gen_split_120 (rtx_insn *, rtx *);
rtx_insn *
gen_split_120 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_120 (i386.md:7287)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7303 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx cc = gen_rtx_REG (CCCmode, FLAGS_REG);
  operands[4] = gen_rtx_fmt_ee (GET_CODE (operands[1]) == NE
				? GEU : LTU, VOIDmode, cc, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	const1_rtx)),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (HImode,
	copy_rtx (operand2),
	const1_rtx)))), true);
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_IF_THEN_ELSE (HImode,
	operand4,
	copy_rtx (operand0),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7287 */
extern rtx_insn *gen_split_121 (rtx_insn *, rtx *);
rtx_insn *
gen_split_121 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_121 (i386.md:7287)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7303 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx cc = gen_rtx_REG (CCCmode, FLAGS_REG);
  operands[4] = gen_rtx_fmt_ee (GET_CODE (operands[1]) == NE
				? GEU : LTU, VOIDmode, cc, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	const1_rtx)),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (SImode,
	copy_rtx (operand2),
	const1_rtx)))), true);
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_IF_THEN_ELSE (SImode,
	operand4,
	copy_rtx (operand0),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7287 */
extern rtx_insn *gen_split_122 (rtx_insn *, rtx *);
rtx_insn *
gen_split_122 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_122 (i386.md:7287)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7303 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx cc = gen_rtx_REG (CCCmode, FLAGS_REG);
  operands[4] = gen_rtx_fmt_ee (GET_CODE (operands[1]) == NE
				? GEU : LTU, VOIDmode, cc, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	const1_rtx)),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (DImode,
	copy_rtx (operand2),
	const1_rtx)))), true);
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_IF_THEN_ELSE (DImode,
	operand4,
	copy_rtx (operand0),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7441 */
rtx
gen_addcarrysi_0 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (SImode,
	operand1,
	operand2),
	operand1)),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	operand1,
	operand2))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7441 */
rtx
gen_addcarrydi_0 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (DImode,
	operand1,
	operand2),
	operand1)),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	operand1,
	operand2))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7655 */
rtx
gen_subborrowsi_0 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (SImode,
	operand1,
	operand2))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7655 */
rtx
gen_subborrowdi_0 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)),
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (DImode,
	operand1,
	operand2))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7670 */
extern rtx_insn *gen_split_123 (rtx_insn *, rtx *);
rtx_insn *
gen_split_123 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_123 (i386.md:7670)\n");
  start_sequence ();
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7670 */
extern rtx_insn *gen_split_124 (rtx_insn *, rtx *);
rtx_insn *
gen_split_124 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_124 (i386.md:7670)\n");
  start_sequence ();
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7681 */
rtx
gen_addqi3_cconly_overflow (rtx operand0,
	rtx operand1)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (QImode,
	operand0,
	operand1),
	operand0)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7719 */
extern rtx_insn *gen_peephole2_61 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_61 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_61 (i386.md:7719)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (QImode,
	operand1,
	operand0),
	copy_rtx (operand1))),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_PLUS (QImode,
	copy_rtx (operand1),
	copy_rtx (operand0))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7719 */
extern rtx_insn *gen_peephole2_62 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_62 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_62 (i386.md:7719)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (HImode,
	operand1,
	operand0),
	copy_rtx (operand1))),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_PLUS (HImode,
	copy_rtx (operand1),
	copy_rtx (operand0))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7719 */
extern rtx_insn *gen_peephole2_63 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_63 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_63 (i386.md:7719)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (SImode,
	operand1,
	operand0),
	copy_rtx (operand1))),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_PLUS (SImode,
	copy_rtx (operand1),
	copy_rtx (operand0))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7719 */
extern rtx_insn *gen_peephole2_64 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_64 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_64 (i386.md:7719)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (DImode,
	operand1,
	operand0),
	copy_rtx (operand1))),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_PLUS (DImode,
	copy_rtx (operand1),
	copy_rtx (operand0))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7791 */
extern rtx_insn *gen_split_125 (rtx_insn *, rtx *);
rtx_insn *
gen_split_125 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_125 (i386.md:7791)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7825 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (DImode, &operands[0], 3, &operands[0], &operands[3]);
  if (operands[2] == const0_rtx)
    {
      emit_insn (gen_addcarrysi_0 (operands[3], operands[4], operands[5]));
      DONE;
    }
  if (CONST_INT_P (operands[5]))
    operands[6] = simplify_unary_operation (ZERO_EXTEND, DImode,
					    operands[5], SImode);
  else
    operands[6] = gen_rtx_ZERO_EXTEND (DImode, operands[5]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (SImode,
	operand1,
	operand2),
	copy_rtx (operand1))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand4),
	operand5)),
	gen_rtx_PLUS (DImode,
	operand6,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)))),
		gen_rtx_SET (operand3,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	copy_rtx (operand4)),
	copy_rtx (operand5))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7791 */
extern rtx_insn *gen_split_126 (rtx_insn *, rtx *);
rtx_insn *
gen_split_126 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_126 (i386.md:7791)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7825 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (TImode, &operands[0], 3, &operands[0], &operands[3]);
  if (operands[2] == const0_rtx)
    {
      emit_insn (gen_addcarrydi_0 (operands[3], operands[4], operands[5]));
      DONE;
    }
  if (CONST_INT_P (operands[5]))
    operands[6] = simplify_unary_operation (ZERO_EXTEND, TImode,
					    operands[5], DImode);
  else
    operands[6] = gen_rtx_ZERO_EXTEND (TImode, operands[5]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (DImode,
	operand1,
	operand2),
	copy_rtx (operand1))),
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTEND (TImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand4),
	operand5)),
	gen_rtx_PLUS (TImode,
	operand6,
	gen_rtx_LTU (TImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)))),
		gen_rtx_SET (operand3,
	gen_rtx_PLUS (DImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	copy_rtx (operand4)),
	copy_rtx (operand5))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7844 */
extern rtx_insn *gen_split_127 (rtx_insn *, rtx *);
rtx_insn *
gen_split_127 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_127 (i386.md:7844)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand3,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (QImode,
	gen_rtx_PLUS (QImode,
	gen_rtx_LTU (QImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7844 */
extern rtx_insn *gen_split_128 (rtx_insn *, rtx *);
rtx_insn *
gen_split_128 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_128 (i386.md:7844)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand3,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (HImode,
	gen_rtx_PLUS (HImode,
	gen_rtx_LTU (HImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7844 */
extern rtx_insn *gen_split_129 (rtx_insn *, rtx *);
rtx_insn *
gen_split_129 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_129 (i386.md:7844)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand3,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7844 */
extern rtx_insn *gen_split_130 (rtx_insn *, rtx *);
rtx_insn *
gen_split_130 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_130 (i386.md:7844)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand3,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7865 */
extern rtx_insn *gen_split_131 (rtx_insn *, rtx *);
rtx_insn *
gen_split_131 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_131 (i386.md:7865)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7888 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_int_mode (~INTVAL (operands[2]),
			      QImode == DImode ? SImode : QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand3,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (QImode,
	gen_rtx_MINUS (QImode,
	operand1,
	gen_rtx_LTU (QImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7865 */
extern rtx_insn *gen_split_132 (rtx_insn *, rtx *);
rtx_insn *
gen_split_132 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_132 (i386.md:7865)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7888 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_int_mode (~INTVAL (operands[2]),
			      HImode == DImode ? SImode : HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand3,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (HImode,
	gen_rtx_MINUS (HImode,
	operand1,
	gen_rtx_LTU (HImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7865 */
extern rtx_insn *gen_split_133 (rtx_insn *, rtx *);
rtx_insn *
gen_split_133 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_133 (i386.md:7865)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7888 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_int_mode (~INTVAL (operands[2]),
			      SImode == DImode ? SImode : SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand3,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (SImode,
	gen_rtx_MINUS (SImode,
	operand1,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7865 */
extern rtx_insn *gen_split_134 (rtx_insn *, rtx *);
rtx_insn *
gen_split_134 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_134 (i386.md:7865)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7888 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_int_mode (~INTVAL (operands[2]),
			      DImode == DImode ? SImode : DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand3,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (DImode,
	gen_rtx_MINUS (DImode,
	operand1,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7893 */
extern rtx_insn *gen_split_135 (rtx_insn *, rtx *);
rtx_insn *
gen_split_135 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_135 (i386.md:7893)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7909 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!nonimmediate_operand (operands[1], QImode))
    operands[1] = force_reg (QImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (QImode,
	gen_rtx_LTU (QImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7893 */
extern rtx_insn *gen_split_136 (rtx_insn *, rtx *);
rtx_insn *
gen_split_136 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_136 (i386.md:7893)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7909 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!nonimmediate_operand (operands[1], HImode))
    operands[1] = force_reg (HImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (HImode,
	gen_rtx_LTU (HImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7893 */
extern rtx_insn *gen_split_137 (rtx_insn *, rtx *);
rtx_insn *
gen_split_137 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_137 (i386.md:7893)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7909 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!nonimmediate_operand (operands[1], SImode))
    operands[1] = force_reg (SImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7893 */
extern rtx_insn *gen_split_138 (rtx_insn *, rtx *);
rtx_insn *
gen_split_138 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_138 (i386.md:7893)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7909 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!nonimmediate_operand (operands[1], DImode))
    operands[1] = force_reg (DImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7914 */
extern rtx_insn *gen_split_139 (rtx_insn *, rtx *);
rtx_insn *
gen_split_139 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_139 (i386.md:7914)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7932 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!nonimmediate_operand (operands[1], QImode))
    operands[1] = force_reg (QImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (QImode,
	gen_rtx_MINUS (QImode,
	operand1,
	gen_rtx_LTU (QImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	constm1_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7914 */
extern rtx_insn *gen_split_140 (rtx_insn *, rtx *);
rtx_insn *
gen_split_140 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_140 (i386.md:7914)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7932 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!nonimmediate_operand (operands[1], HImode))
    operands[1] = force_reg (HImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (HImode,
	gen_rtx_MINUS (HImode,
	operand1,
	gen_rtx_LTU (HImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	constm1_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7914 */
extern rtx_insn *gen_split_141 (rtx_insn *, rtx *);
rtx_insn *
gen_split_141 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_141 (i386.md:7914)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7932 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!nonimmediate_operand (operands[1], SImode))
    operands[1] = force_reg (SImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (SImode,
	gen_rtx_MINUS (SImode,
	operand1,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	constm1_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7914 */
extern rtx_insn *gen_split_142 (rtx_insn *, rtx *);
rtx_insn *
gen_split_142 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_142 (i386.md:7914)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7932 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!nonimmediate_operand (operands[1], DImode))
    operands[1] = force_reg (DImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (DImode,
	gen_rtx_MINUS (DImode,
	operand1,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	constm1_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7937 */
extern rtx_insn *gen_split_143 (rtx_insn *, rtx *);
rtx_insn *
gen_split_143 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_143 (i386.md:7937)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand3,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (QImode,
	gen_rtx_MINUS (QImode,
	operand1,
	gen_rtx_LTU (QImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7937 */
extern rtx_insn *gen_split_144 (rtx_insn *, rtx *);
rtx_insn *
gen_split_144 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_144 (i386.md:7937)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand3,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (HImode,
	gen_rtx_MINUS (HImode,
	operand1,
	gen_rtx_LTU (HImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7937 */
extern rtx_insn *gen_split_145 (rtx_insn *, rtx *);
rtx_insn *
gen_split_145 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_145 (i386.md:7937)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand3,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (SImode,
	gen_rtx_MINUS (SImode,
	operand1,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7937 */
extern rtx_insn *gen_split_146 (rtx_insn *, rtx *);
rtx_insn *
gen_split_146 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_146 (i386.md:7937)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand3,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (DImode,
	gen_rtx_MINUS (DImode,
	operand1,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7959 */
extern rtx_insn *gen_split_147 (rtx_insn *, rtx *);
rtx_insn *
gen_split_147 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_147 (i386.md:7959)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_int_mode (INTVAL (operands[2]) - 1,
			      QImode == DImode ? SImode : QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand3,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (QImode,
	gen_rtx_PLUS (QImode,
	gen_rtx_LTU (QImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7959 */
extern rtx_insn *gen_split_148 (rtx_insn *, rtx *);
rtx_insn *
gen_split_148 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_148 (i386.md:7959)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_int_mode (INTVAL (operands[2]) - 1,
			      HImode == DImode ? SImode : HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand3,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (HImode,
	gen_rtx_PLUS (HImode,
	gen_rtx_LTU (HImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7959 */
extern rtx_insn *gen_split_149 (rtx_insn *, rtx *);
rtx_insn *
gen_split_149 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_149 (i386.md:7959)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_int_mode (INTVAL (operands[2]) - 1,
			      SImode == DImode ? SImode : SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand3,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7959 */
extern rtx_insn *gen_split_150 (rtx_insn *, rtx *);
rtx_insn *
gen_split_150 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_150 (i386.md:7959)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_int_mode (INTVAL (operands[2]) - 1,
			      DImode == DImode ? SImode : DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand3,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7988 */
extern rtx_insn *gen_split_151 (rtx_insn *, rtx *);
rtx_insn *
gen_split_151 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_151 (i386.md:7988)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8012 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_int_mode (-INTVAL (operands[2]),
			      QImode == DImode ? SImode : QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand3,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (QImode,
	gen_rtx_MINUS (QImode,
	operand1,
	gen_rtx_LTU (QImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7988 */
extern rtx_insn *gen_split_152 (rtx_insn *, rtx *);
rtx_insn *
gen_split_152 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_152 (i386.md:7988)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8012 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_int_mode (-INTVAL (operands[2]),
			      HImode == DImode ? SImode : HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand3,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (HImode,
	gen_rtx_MINUS (HImode,
	operand1,
	gen_rtx_LTU (HImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7988 */
extern rtx_insn *gen_split_153 (rtx_insn *, rtx *);
rtx_insn *
gen_split_153 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_153 (i386.md:7988)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8012 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_int_mode (-INTVAL (operands[2]),
			      SImode == DImode ? SImode : SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand3,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (SImode,
	gen_rtx_MINUS (SImode,
	operand1,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:7988 */
extern rtx_insn *gen_split_154 (rtx_insn *, rtx *);
rtx_insn *
gen_split_154 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_154 (i386.md:7988)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8012 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_int_mode (-INTVAL (operands[2]),
			      DImode == DImode ? SImode : DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand3,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (DImode,
	gen_rtx_MINUS (DImode,
	operand1,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8017 */
extern rtx_insn *gen_split_155 (rtx_insn *, rtx *);
rtx_insn *
gen_split_155 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_155 (i386.md:8017)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8033 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!nonimmediate_operand (operands[1], QImode))
    operands[1] = force_reg (QImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (QImode,
	operand1,
	gen_rtx_LTU (QImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8017 */
extern rtx_insn *gen_split_156 (rtx_insn *, rtx *);
rtx_insn *
gen_split_156 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_156 (i386.md:8017)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8033 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!nonimmediate_operand (operands[1], HImode))
    operands[1] = force_reg (HImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (HImode,
	operand1,
	gen_rtx_LTU (HImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8017 */
extern rtx_insn *gen_split_157 (rtx_insn *, rtx *);
rtx_insn *
gen_split_157 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_157 (i386.md:8017)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8033 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!nonimmediate_operand (operands[1], SImode))
    operands[1] = force_reg (SImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (SImode,
	operand1,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8017 */
extern rtx_insn *gen_split_158 (rtx_insn *, rtx *);
rtx_insn *
gen_split_158 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_158 (i386.md:8017)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8033 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!nonimmediate_operand (operands[1], DImode))
    operands[1] = force_reg (DImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (DImode,
	operand1,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8038 */
extern rtx_insn *gen_split_159 (rtx_insn *, rtx *);
rtx_insn *
gen_split_159 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_159 (i386.md:8038)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8056 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!nonimmediate_operand (operands[1], QImode))
    operands[1] = force_reg (QImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (QImode,
	gen_rtx_PLUS (QImode,
	gen_rtx_LTU (QImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand1),
	constm1_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8038 */
extern rtx_insn *gen_split_160 (rtx_insn *, rtx *);
rtx_insn *
gen_split_160 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_160 (i386.md:8038)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8056 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!nonimmediate_operand (operands[1], HImode))
    operands[1] = force_reg (HImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (HImode,
	gen_rtx_PLUS (HImode,
	gen_rtx_LTU (HImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand1),
	constm1_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8038 */
extern rtx_insn *gen_split_161 (rtx_insn *, rtx *);
rtx_insn *
gen_split_161 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_161 (i386.md:8038)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8056 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!nonimmediate_operand (operands[1], SImode))
    operands[1] = force_reg (SImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand1),
	constm1_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8038 */
extern rtx_insn *gen_split_162 (rtx_insn *, rtx *);
rtx_insn *
gen_split_162 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_162 (i386.md:8038)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8056 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!nonimmediate_operand (operands[1], DImode))
    operands[1] = force_reg (DImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand2,
	const1_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand1),
	constm1_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8063 */
rtx
gen_addxf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (XFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8063 */
rtx
gen_subxf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (XFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8070 */
rtx
gen_addhf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (HFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8070 */
rtx
gen_subhf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (HFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8077 */
rtx
gen_addsf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (SFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8077 */
rtx
gen_subsf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (SFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8077 */
rtx
gen_adddf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (DFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8077 */
rtx
gen_subdf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (DFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8087 */
rtx
gen_mulhi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MULT (HImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8087 */
rtx
gen_mulsi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MULT (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8087 */
rtx
gen_muldi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MULT (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8094 */
rtx
gen_mulqi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MULT (QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8212 */
rtx
gen_mulvhi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8229 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (CONST_INT_P (operands[2]))
    operands[4] = operands[2];
  else
    operands[4] = gen_rtx_SIGN_EXTEND (SImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_MULT (SImode,
	gen_rtx_SIGN_EXTEND (SImode,
	operand1),
	operand4),
	gen_rtx_SIGN_EXTEND (SImode,
	gen_rtx_MULT (HImode,
	copy_rtx (operand1),
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_MULT (HImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8212 */
rtx
gen_mulvsi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8229 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (CONST_INT_P (operands[2]))
    operands[4] = operands[2];
  else
    operands[4] = gen_rtx_SIGN_EXTEND (DImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_MULT (DImode,
	gen_rtx_SIGN_EXTEND (DImode,
	operand1),
	operand4),
	gen_rtx_SIGN_EXTEND (DImode,
	gen_rtx_MULT (SImode,
	copy_rtx (operand1),
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_MULT (SImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8212 */
rtx
gen_mulvdi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8229 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (CONST_INT_P (operands[2]))
    operands[4] = operands[2];
  else
    operands[4] = gen_rtx_SIGN_EXTEND (TImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_MULT (TImode,
	gen_rtx_SIGN_EXTEND (TImode,
	operand1),
	operand4),
	gen_rtx_SIGN_EXTEND (TImode,
	gen_rtx_MULT (DImode,
	copy_rtx (operand1),
	operand2)))),
		gen_rtx_SET (operand0,
	gen_rtx_MULT (DImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8336 */
rtx
gen_umulvhi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (MEM_P (operands[1]) && MEM_P (operands[2]))
    operands[1] = force_reg (HImode, operands[1]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_MULT (SImode,
	gen_rtx_ZERO_EXTEND (SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (SImode,
	operand2)),
	gen_rtx_ZERO_EXTEND (SImode,
	gen_rtx_MULT (HImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))),
		gen_rtx_SET (operand0,
	gen_rtx_MULT (HImode,
	copy_rtx (operand1),
	copy_rtx (operand2))),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (HImode)))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8336 */
rtx
gen_umulvsi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (MEM_P (operands[1]) && MEM_P (operands[2]))
    operands[1] = force_reg (SImode, operands[1]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_MULT (DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1),
	gen_rtx_ZERO_EXTEND (DImode,
	operand2)),
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_MULT (SImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))),
		gen_rtx_SET (operand0,
	gen_rtx_MULT (SImode,
	copy_rtx (operand1),
	copy_rtx (operand2))),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode)))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8336 */
rtx
gen_umulvdi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (MEM_P (operands[1]) && MEM_P (operands[2]))
    operands[1] = force_reg (DImode, operands[1]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_MULT (TImode,
	gen_rtx_ZERO_EXTEND (TImode,
	operand1),
	gen_rtx_ZERO_EXTEND (TImode,
	operand2)),
	gen_rtx_ZERO_EXTEND (TImode,
	gen_rtx_MULT (DImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))),
		gen_rtx_SET (operand0,
	gen_rtx_MULT (DImode,
	copy_rtx (operand1),
	copy_rtx (operand2))),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (DImode)))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8384 */
rtx
gen_mulvqi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8400 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (MEM_P (operands[1]) && MEM_P (operands[2]))
    operands[1] = force_reg (QImode, operands[1]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_MULT (HImode,
	gen_rtx_SIGN_EXTEND (HImode,
	operand1),
	gen_rtx_SIGN_EXTEND (HImode,
	operand2)),
	gen_rtx_SIGN_EXTEND (HImode,
	gen_rtx_MULT (QImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))),
		gen_rtx_SET (operand0,
	gen_rtx_MULT (QImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8384 */
rtx
gen_umulvqi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8400 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (MEM_P (operands[1]) && MEM_P (operands[2]))
    operands[1] = force_reg (QImode, operands[1]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_EQ (CCOmode,
	gen_rtx_MULT (HImode,
	gen_rtx_ZERO_EXTEND (HImode,
	operand1),
	gen_rtx_ZERO_EXTEND (HImode,
	operand2)),
	gen_rtx_ZERO_EXTEND (HImode,
	gen_rtx_MULT (QImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))),
		gen_rtx_SET (operand0,
	gen_rtx_MULT (QImode,
	copy_rtx (operand1),
	copy_rtx (operand2))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8429 */
rtx
gen_mulsidi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MULT (DImode,
	gen_rtx_SIGN_EXTEND (DImode,
	operand1),
	gen_rtx_SIGN_EXTEND (DImode,
	operand2))),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8429 */
rtx
gen_umulsidi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MULT (DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1),
	gen_rtx_ZERO_EXTEND (DImode,
	operand2))),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8429 */
rtx
gen_mulditi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MULT (TImode,
	gen_rtx_SIGN_EXTEND (TImode,
	operand1),
	gen_rtx_SIGN_EXTEND (TImode,
	operand2))),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8429 */
rtx
gen_umulditi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MULT (TImode,
	gen_rtx_ZERO_EXTEND (TImode,
	operand1),
	gen_rtx_ZERO_EXTEND (TImode,
	operand2))),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8438 */
rtx
gen_mulqihi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MULT (HImode,
	gen_rtx_SIGN_EXTEND (HImode,
	operand1),
	gen_rtx_SIGN_EXTEND (HImode,
	operand2))),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8438 */
rtx
gen_umulqihi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MULT (HImode,
	gen_rtx_ZERO_EXTEND (HImode,
	operand1),
	gen_rtx_ZERO_EXTEND (HImode,
	operand2))),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8493 */
extern rtx_insn *gen_split_163 (rtx_insn *, rtx *);
rtx_insn *
gen_split_163 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_163 (i386.md:8493)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8511 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (DImode, &operands[0], 1, &operands[3], &operands[4]);

  operands[5] = GEN_INT (4 * BITS_PER_UNIT);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand3,
	gen_rtx_MULT (SImode,
	operand1,
	operand2)),
		gen_rtx_SET (operand4,
	gen_rtx_TRUNCATE (SImode,
	gen_rtx_LSHIFTRT (DImode,
	gen_rtx_MULT (DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	copy_rtx (operand1)),
	gen_rtx_ZERO_EXTEND (DImode,
	copy_rtx (operand2))),
	operand5))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8493 */
extern rtx_insn *gen_split_164 (rtx_insn *, rtx *);
rtx_insn *
gen_split_164 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_164 (i386.md:8493)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8511 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (TImode, &operands[0], 1, &operands[3], &operands[4]);

  operands[5] = GEN_INT (8 * BITS_PER_UNIT);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand3,
	gen_rtx_MULT (DImode,
	operand1,
	operand2)),
		gen_rtx_SET (operand4,
	gen_rtx_TRUNCATE (DImode,
	gen_rtx_LSHIFTRT (TImode,
	gen_rtx_MULT (TImode,
	gen_rtx_ZERO_EXTEND (TImode,
	copy_rtx (operand1)),
	gen_rtx_ZERO_EXTEND (TImode,
	copy_rtx (operand2))),
	operand5))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8673 */
extern rtx_insn *gen_peephole2_65 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_65 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_65 (i386.md:8673)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand4,
	gen_rtx_SMUL_HIGHPART (SImode,
	copy_rtx (operand2),
	operand3)),
		gen_rtx_CLOBBER (VOIDmode,
	copy_rtx (operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8673 */
extern rtx_insn *gen_peephole2_66 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_66 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_66 (i386.md:8673)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand4,
	gen_rtx_UMUL_HIGHPART (SImode,
	copy_rtx (operand2),
	operand3)),
		gen_rtx_CLOBBER (VOIDmode,
	copy_rtx (operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8673 */
extern rtx_insn *gen_peephole2_67 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_67 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_67 (i386.md:8673)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand4,
	gen_rtx_SMUL_HIGHPART (DImode,
	copy_rtx (operand2),
	operand3)),
		gen_rtx_CLOBBER (VOIDmode,
	copy_rtx (operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8673 */
extern rtx_insn *gen_peephole2_68 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_68 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_68 (i386.md:8673)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand4,
	gen_rtx_UMUL_HIGHPART (DImode,
	copy_rtx (operand2),
	operand3)),
		gen_rtx_CLOBBER (VOIDmode,
	copy_rtx (operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8693 */
extern rtx_insn *gen_peephole2_69 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_69 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_69 (i386.md:8693)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand4,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_SMUL_HIGHPART (SImode,
	copy_rtx (operand2),
	operand3))),
		gen_rtx_CLOBBER (VOIDmode,
	copy_rtx (operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8693 */
extern rtx_insn *gen_peephole2_70 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_70 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_70 (i386.md:8693)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand4,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_UMUL_HIGHPART (SImode,
	copy_rtx (operand2),
	operand3))),
		gen_rtx_CLOBBER (VOIDmode,
	copy_rtx (operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8719 */
rtx
gen_mulxf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MULT (XFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8725 */
rtx
gen_mulhf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MULT (HFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8731 */
rtx
gen_mulsf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MULT (SFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8731 */
rtx
gen_muldf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MULT (DFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8742 */
rtx
gen_divxf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_DIV (XFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8751 */
rtx
gen_divhf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8756 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_RECIP_DIV
      && optimize_insn_for_speed_p ()
      && flag_finite_math_only && !flag_trapping_math
      && flag_unsafe_math_optimizations)
    {
      rtx op = gen_reg_rtx (HFmode);
      operands[2] = force_reg (HFmode, operands[2]);
      emit_insn (gen_rcphf2 (op, operands[2]));
      emit_insn (gen_mulhf3 (operands[0], operands[1], op));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_DIV (HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8770 */
rtx
gen_divsf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8776 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (SFmode == SFmode
      && TARGET_SSE && TARGET_SSE_MATH
      && TARGET_RECIP_DIV
      && optimize_insn_for_speed_p ()
      && flag_finite_math_only && !flag_trapping_math
      && flag_unsafe_math_optimizations)
    {
      ix86_emit_swdivsf (operands[0], operands[1],
			 operands[2], SFmode);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_DIV (SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8770 */
rtx
gen_divdf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8776 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (DFmode == SFmode
      && TARGET_SSE && TARGET_SSE_MATH
      && TARGET_RECIP_DIV
      && optimize_insn_for_speed_p ()
      && flag_finite_math_only && !flag_trapping_math
      && flag_unsafe_math_optimizations)
    {
      ix86_emit_swdivsf (operands[0], operands[1],
			 operands[2], SFmode);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_DIV (DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8795 */
rtx
gen_divmodhi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_DIV (HImode,
	operand1,
	operand2)),
		gen_rtx_SET (operand3,
	gen_rtx_MOD (HImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8795 */
rtx
gen_udivmodhi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UDIV (HImode,
	operand1,
	operand2)),
		gen_rtx_SET (operand3,
	gen_rtx_UMOD (HImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8795 */
rtx
gen_divmodsi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_DIV (SImode,
	operand1,
	operand2)),
		gen_rtx_SET (operand3,
	gen_rtx_MOD (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8795 */
rtx
gen_udivmodsi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UDIV (SImode,
	operand1,
	operand2)),
		gen_rtx_SET (operand3,
	gen_rtx_UMOD (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8795 */
rtx
gen_divmoddi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_DIV (DImode,
	operand1,
	operand2)),
		gen_rtx_SET (operand3,
	gen_rtx_MOD (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8795 */
rtx
gen_udivmoddi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UDIV (DImode,
	operand1,
	operand2)),
		gen_rtx_SET (operand3,
	gen_rtx_UMOD (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8809 */
extern rtx_insn *gen_split_165 (rtx_insn *, rtx *);
rtx_insn *
gen_split_165 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_165 (i386.md:8809)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8821 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_idivmod (SImode, operands, false); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8809 */
extern rtx_insn *gen_split_166 (rtx_insn *, rtx *);
rtx_insn *
gen_split_166 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_166 (i386.md:8809)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8821 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_idivmod (SImode, operands, true); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8809 */
extern rtx_insn *gen_split_167 (rtx_insn *, rtx *);
rtx_insn *
gen_split_167 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_167 (i386.md:8809)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8821 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_idivmod (DImode, operands, false); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8809 */
extern rtx_insn *gen_split_168 (rtx_insn *, rtx *);
rtx_insn *
gen_split_168 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_168 (i386.md:8809)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8821 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_idivmod (DImode, operands, true); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8823 */
extern rtx_insn *gen_split_169 (rtx_insn *, rtx *);
rtx_insn *
gen_split_169 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_169 (i386.md:8823)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8837 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_idivmod (SImode, operands, false); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8823 */
extern rtx_insn *gen_split_170 (rtx_insn *, rtx *);
rtx_insn *
gen_split_170 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_170 (i386.md:8823)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8837 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_idivmod (SImode, operands, true); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8839 */
extern rtx_insn *gen_split_171 (rtx_insn *, rtx *);
rtx_insn *
gen_split_171 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_171 (i386.md:8839)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8853 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_idivmod (SImode, operands, false); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8839 */
extern rtx_insn *gen_split_172 (rtx_insn *, rtx *);
rtx_insn *
gen_split_172 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_172 (i386.md:8839)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8853 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_idivmod (SImode, operands, true); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8855 */
extern rtx_insn *gen_split_173 (rtx_insn *, rtx *);
rtx_insn *
gen_split_173 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_173 (i386.md:8855)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8875 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = GEN_INT (GET_MODE_BITSIZE (SImode)-1);

  if (optimize_function_for_size_p (cfun) || TARGET_USE_CLTD)
    operands[4] = operands[2];
  else
    {
      /* Avoid use of cltd in favor of a mov+shift.  */
      emit_move_insn (operands[1], operands[2]);
      operands[4] = operands[1];
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	gen_rtx_ASHIFTRT (SImode,
	operand4,
	operand5)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_DIV (SImode,
	operand2,
	operand3)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_MOD (SImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_USE (VOIDmode,
	copy_rtx (operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8855 */
extern rtx_insn *gen_split_174 (rtx_insn *, rtx *);
rtx_insn *
gen_split_174 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_174 (i386.md:8855)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8875 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = GEN_INT (GET_MODE_BITSIZE (DImode)-1);

  if (optimize_function_for_size_p (cfun) || TARGET_USE_CLTD)
    operands[4] = operands[2];
  else
    {
      /* Avoid use of cltd in favor of a mov+shift.  */
      emit_move_insn (operands[1], operands[2]);
      operands[4] = operands[1];
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	gen_rtx_ASHIFTRT (DImode,
	operand4,
	operand5)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_DIV (DImode,
	operand2,
	operand3)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_MOD (DImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_USE (VOIDmode,
	copy_rtx (operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8890 */
extern rtx_insn *gen_split_175 (rtx_insn *, rtx *);
rtx_insn *
gen_split_175 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_175 (i386.md:8890)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8908 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand1,
	const0_rtx));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_UDIV (SImode,
	operand2,
	operand3)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_UMOD (SImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_USE (VOIDmode,
	copy_rtx (operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8890 */
extern rtx_insn *gen_split_176 (rtx_insn *, rtx *);
rtx_insn *
gen_split_176 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_176 (i386.md:8890)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8908 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand1,
	const0_rtx));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_UDIV (DImode,
	operand2,
	operand3)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_UMOD (DImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_USE (VOIDmode,
	copy_rtx (operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8912 */
extern rtx_insn *gen_split_177 (rtx_insn *, rtx *);
rtx_insn *
gen_split_177 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_177 (i386.md:8912)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8933 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = GEN_INT (GET_MODE_BITSIZE (SImode)-1);

  if (optimize_function_for_size_p (cfun) || TARGET_USE_CLTD)
    operands[4] = operands[2];
  else
    {
      /* Avoid use of cltd in favor of a mov+shift.  */
      emit_move_insn (operands[1], operands[2]);
      operands[4] = operands[1];
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	gen_rtx_ASHIFTRT (SImode,
	operand4,
	operand5)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_DIV (SImode,
	operand2,
	operand3))),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_MOD (SImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_USE (VOIDmode,
	copy_rtx (operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8948 */
extern rtx_insn *gen_split_178 (rtx_insn *, rtx *);
rtx_insn *
gen_split_178 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_178 (i386.md:8948)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8967 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand1,
	const0_rtx));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_UDIV (SImode,
	operand2,
	operand3))),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_UMOD (SImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_USE (VOIDmode,
	copy_rtx (operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:8971 */
extern rtx_insn *gen_split_179 (rtx_insn *, rtx *);
rtx_insn *
gen_split_179 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_179 (i386.md:8971)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8992 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = GEN_INT (GET_MODE_BITSIZE (SImode)-1);
  operands[6] = gen_lowpart (SImode, operands[1]);

  if (optimize_function_for_size_p (cfun) || TARGET_USE_CLTD)
    operands[4] = operands[2];
  else
    {
      /* Avoid use of cltd in favor of a mov+shift.  */
      emit_move_insn (operands[6], operands[2]);
      operands[4] = operands[6];
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand6,
	gen_rtx_ASHIFTRT (SImode,
	operand4,
	operand5)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand1,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_MOD (SImode,
	operand2,
	operand3))),
		gen_rtx_SET (operand0,
	gen_rtx_DIV (SImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_USE (VOIDmode,
	copy_rtx (operand6)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9008 */
extern rtx_insn *gen_split_180 (rtx_insn *, rtx *);
rtx_insn *
gen_split_180 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_180 (i386.md:9008)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9027 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = gen_lowpart (SImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	const0_rtx));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand1,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_UMOD (SImode,
	operand2,
	operand3))),
		gen_rtx_SET (operand0,
	gen_rtx_UDIV (SImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_USE (VOIDmode,
	copy_rtx (operand4)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9031 */
extern rtx_insn *gen_split_181 (rtx_insn *, rtx *);
rtx_insn *
gen_split_181 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_181 (i386.md:9031)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9050 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = GEN_INT (GET_MODE_BITSIZE (HImode)-1);

  if (HImode != HImode
      && (optimize_function_for_size_p (cfun) || TARGET_USE_CLTD))
    operands[4] = operands[2];
  else
    {
      /* Avoid use of cltd in favor of a mov+shift.  */
      emit_move_insn (operands[1], operands[2]);
      operands[4] = operands[1];
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	gen_rtx_ASHIFTRT (HImode,
	operand4,
	operand5)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_DIV (HImode,
	operand2,
	operand3)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_MOD (HImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_USE (VOIDmode,
	copy_rtx (operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9031 */
extern rtx_insn *gen_split_182 (rtx_insn *, rtx *);
rtx_insn *
gen_split_182 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_182 (i386.md:9031)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9050 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = GEN_INT (GET_MODE_BITSIZE (SImode)-1);

  if (SImode != HImode
      && (optimize_function_for_size_p (cfun) || TARGET_USE_CLTD))
    operands[4] = operands[2];
  else
    {
      /* Avoid use of cltd in favor of a mov+shift.  */
      emit_move_insn (operands[1], operands[2]);
      operands[4] = operands[1];
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	gen_rtx_ASHIFTRT (SImode,
	operand4,
	operand5)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_DIV (SImode,
	operand2,
	operand3)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_MOD (SImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_USE (VOIDmode,
	copy_rtx (operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9031 */
extern rtx_insn *gen_split_183 (rtx_insn *, rtx *);
rtx_insn *
gen_split_183 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_183 (i386.md:9031)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9050 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = GEN_INT (GET_MODE_BITSIZE (DImode)-1);

  if (DImode != HImode
      && (optimize_function_for_size_p (cfun) || TARGET_USE_CLTD))
    operands[4] = operands[2];
  else
    {
      /* Avoid use of cltd in favor of a mov+shift.  */
      emit_move_insn (operands[1], operands[2]);
      operands[4] = operands[1];
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	gen_rtx_ASHIFTRT (DImode,
	operand4,
	operand5)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_DIV (DImode,
	operand2,
	operand3)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_MOD (DImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_USE (VOIDmode,
	copy_rtx (operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9066 */
extern rtx_insn *gen_split_184 (rtx_insn *, rtx *);
rtx_insn *
gen_split_184 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_184 (i386.md:9066)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9083 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand1,
	const0_rtx));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_UDIV (HImode,
	operand2,
	operand3)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_UMOD (HImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_USE (VOIDmode,
	copy_rtx (operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9066 */
extern rtx_insn *gen_split_185 (rtx_insn *, rtx *);
rtx_insn *
gen_split_185 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_185 (i386.md:9066)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9083 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand1,
	const0_rtx));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_UDIV (SImode,
	operand2,
	operand3)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_UMOD (SImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_USE (VOIDmode,
	copy_rtx (operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9066 */
extern rtx_insn *gen_split_186 (rtx_insn *, rtx *);
rtx_insn *
gen_split_186 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_186 (i386.md:9066)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9083 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand1,
	const0_rtx));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_UDIV (DImode,
	operand2,
	operand3)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_UMOD (DImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_USE (VOIDmode,
	copy_rtx (operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9089 */
extern rtx_insn *gen_split_187 (rtx_insn *, rtx *);
rtx_insn *
gen_split_187 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_187 (i386.md:9089)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9104 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  int v = exact_log2 (UINTVAL (operands[3]));
  operands[4] = GEN_INT (v);
  operands[5] = GEN_INT ((HOST_WIDE_INT_1U << v) - 1);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand1,
	operand2));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (SImode,
	copy_rtx (operand2),
	operand4)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_AND (SImode,
	copy_rtx (operand1),
	operand5)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9089 */
extern rtx_insn *gen_split_188 (rtx_insn *, rtx *);
rtx_insn *
gen_split_188 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_188 (i386.md:9089)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9104 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  int v = exact_log2 (UINTVAL (operands[3]));
  operands[4] = GEN_INT (v);
  operands[5] = GEN_INT ((HOST_WIDE_INT_1U << v) - 1);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand1,
	operand2));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (DImode,
	copy_rtx (operand2),
	operand4)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_AND (DImode,
	copy_rtx (operand1),
	operand5)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9112 */
extern rtx_insn *gen_split_189 (rtx_insn *, rtx *);
rtx_insn *
gen_split_189 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_189 (i386.md:9112)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9132 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = GEN_INT (GET_MODE_BITSIZE (SImode)-1);

  if (optimize_function_for_size_p (cfun) || TARGET_USE_CLTD)
    operands[4] = operands[2];
  else
    {
      /* Avoid use of cltd in favor of a mov+shift.  */
      emit_move_insn (operands[1], operands[2]);
      operands[4] = operands[1];
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	gen_rtx_ASHIFTRT (SImode,
	operand4,
	operand5)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_DIV (SImode,
	operand2,
	operand3))),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_MOD (SImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_USE (VOIDmode,
	copy_rtx (operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9147 */
extern rtx_insn *gen_split_190 (rtx_insn *, rtx *);
rtx_insn *
gen_split_190 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_190 (i386.md:9147)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9165 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand1,
	const0_rtx));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_UDIV (SImode,
	operand2,
	operand3))),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_UMOD (SImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_USE (VOIDmode,
	copy_rtx (operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9169 */
extern rtx_insn *gen_split_191 (rtx_insn *, rtx *);
rtx_insn *
gen_split_191 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_191 (i386.md:9169)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9187 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  int v = exact_log2 (UINTVAL (operands[3]));
  operands[4] = GEN_INT (v);
  operands[5] = GEN_INT ((HOST_WIDE_INT_1U << v) - 1);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand1,
	operand2));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_LSHIFTRT (SImode,
	copy_rtx (operand2),
	operand4))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_AND (SImode,
	copy_rtx (operand1),
	operand5)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9195 */
extern rtx_insn *gen_split_192 (rtx_insn *, rtx *);
rtx_insn *
gen_split_192 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_192 (i386.md:9195)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9215 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = GEN_INT (GET_MODE_BITSIZE (SImode)-1);
  operands[6] = gen_lowpart (SImode, operands[1]);

  if (optimize_function_for_size_p (cfun) || TARGET_USE_CLTD)
    operands[4] = operands[2];
  else
    {
      /* Avoid use of cltd in favor of a mov+shift.  */
      emit_move_insn (operands[6], operands[2]);
      operands[4] = operands[6];
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand6,
	gen_rtx_ASHIFTRT (SImode,
	operand4,
	operand5)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand1,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_MOD (SImode,
	operand2,
	operand3))),
		gen_rtx_SET (operand0,
	gen_rtx_DIV (SImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_USE (VOIDmode,
	copy_rtx (operand6)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9231 */
extern rtx_insn *gen_split_193 (rtx_insn *, rtx *);
rtx_insn *
gen_split_193 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_193 (i386.md:9231)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9249 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = gen_lowpart (SImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	const0_rtx));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand1,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_UMOD (SImode,
	operand2,
	operand3))),
		gen_rtx_SET (operand0,
	gen_rtx_UDIV (SImode,
	copy_rtx (operand2),
	copy_rtx (operand3))),
		gen_rtx_USE (VOIDmode,
	copy_rtx (operand4)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9253 */
extern rtx_insn *gen_split_194 (rtx_insn *, rtx *);
rtx_insn *
gen_split_194 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_194 (i386.md:9253)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9271 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  int v = exact_log2 (UINTVAL (operands[3]));
  operands[4] = GEN_INT (v);
  operands[5] = GEN_INT ((HOST_WIDE_INT_1U << v) - 1);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand1,
	operand2));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (SImode,
	copy_rtx (operand2),
	operand4)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_AND (SImode,
	copy_rtx (operand1),
	operand5))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9322 */
extern rtx_insn *gen_split_195 (rtx_insn *, rtx *);
rtx_insn *
gen_split_195 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_195 (i386.md:9322)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[4] = INTVAL (operands[2]) < 0 ? constm1_rtx : const0_rtx;
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	operand2));
  emit_insn (gen_rtx_SET (operand1,
	operand4));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_DIV (SImode,
	copy_rtx (operand0),
	operand3)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_MOD (SImode,
	copy_rtx (operand0),
	copy_rtx (operand3))),
		gen_rtx_USE (VOIDmode,
	copy_rtx (operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9346 */
rtx
gen_divmodqi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx div, mod;
  rtx tmp0, tmp1;

  tmp0 = gen_reg_rtx (HImode);
  tmp1 = gen_reg_rtx (HImode);

  /* Extend operands[1] to HImode.  Generate 8bit divide.  Result is in AX.  */
  emit_insn (gen_extendqihi2 (tmp1, operands[1]));
  emit_insn (gen_divmodhiqi3 (tmp0, tmp1, operands[2]));

  /* Extract remainder from AH.  */
  tmp1 = gen_rtx_ZERO_EXTRACT (HImode, tmp0, GEN_INT (8), GEN_INT (8));
  tmp1 = lowpart_subreg (QImode, tmp1, HImode);
  rtx_insn *insn = emit_move_insn (operands[3], tmp1);

  mod = gen_rtx_MOD (QImode, operands[1], operands[2]);
  set_unique_reg_note (insn, REG_EQUAL, mod);

  /* Extract quotient from AL.  */
  insn = emit_move_insn (operands[0], gen_lowpart (QImode, tmp0));

  div = gen_rtx_DIV (QImode, operands[1], operands[2]);
  set_unique_reg_note (insn, REG_EQUAL, div);

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_DIV (QImode,
	operand1,
	operand2)),
		gen_rtx_SET (operand3,
	gen_rtx_MOD (QImode,
	copy_rtx (operand1),
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9383 */
rtx
gen_udivmodqi4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9392 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx div, mod;
  rtx tmp0, tmp1;

  tmp0 = gen_reg_rtx (HImode);
  tmp1 = gen_reg_rtx (HImode);

  /* Extend operands[1] to HImode.  Generate 8bit divide.  Result is in AX.  */
  emit_insn (gen_zero_extendqihi2 (tmp1, operands[1]));
  emit_insn (gen_udivmodhiqi3 (tmp0, tmp1, operands[2]));

  /* Extract remainder from AH.  */
  tmp1 = gen_rtx_ZERO_EXTRACT (HImode, tmp0, GEN_INT (8), GEN_INT (8));
  tmp1 = lowpart_subreg (QImode, tmp1, HImode);
  rtx_insn *insn = emit_move_insn (operands[3], tmp1);

  mod = gen_rtx_UMOD (QImode, operands[1], operands[2]);
  set_unique_reg_note (insn, REG_EQUAL, mod);

  /* Extract quotient from AL.  */
  insn = emit_move_insn (operands[0], gen_lowpart (QImode, tmp0));

  div = gen_rtx_UDIV (QImode, operands[1], operands[2]);
  set_unique_reg_note (insn, REG_EQUAL, div);

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UDIV (QImode,
	operand1,
	operand2)),
		gen_rtx_SET (operand3,
	gen_rtx_UMOD (QImode,
	copy_rtx (operand1),
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9469 */
rtx
gen_testsi_ccno_1 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (gen_rtx_REG (CCNOmode,
	17),
	gen_rtx_COMPARE (CCNOmode,
	gen_rtx_AND (SImode,
	operand0,
	operand1),
	const0_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9469 */
rtx
gen_testdi_ccno_1 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (gen_rtx_REG (CCNOmode,
	17),
	gen_rtx_COMPARE (CCNOmode,
	gen_rtx_AND (DImode,
	operand0,
	operand1),
	const0_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9477 */
rtx
gen_testqi_ccz_1 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	gen_rtx_AND (QImode,
	operand0,
	operand1),
	const0_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9546 */
rtx
gen_testqi_ext_1_ccno (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (gen_rtx_REG (CCNOmode,
	17),
	gen_rtx_COMPARE (CCNOmode,
	gen_rtx_AND (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (HImode,
	operand0,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand1),
	const0_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9596 */
extern rtx_insn *gen_split_196 (rtx_insn *, rtx *);
rtx_insn *
gen_split_196 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_196 (i386.md:9596)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9648 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx val = operands[2];
  HOST_WIDE_INT len = INTVAL (operands[3]);
  HOST_WIDE_INT pos = INTVAL (operands[4]);
  machine_mode mode = GET_MODE (val);

  if (SUBREG_P (val))
    {
      machine_mode submode = GET_MODE (SUBREG_REG (val));

      /* Narrow paradoxical subregs to prevent partial register stalls.  */
      if (GET_MODE_BITSIZE (mode) > GET_MODE_BITSIZE (submode)
	  && GET_MODE_CLASS (submode) == MODE_INT
	  && (GET_MODE (operands[0]) == CCZmode
	      || pos + len < GET_MODE_PRECISION (submode)
	      || REG_P (SUBREG_REG (val))))
	{
	  val = SUBREG_REG (val);
	  mode = submode;
	}
    }

  /* Small HImode tests can be converted to QImode.  */
  if (pos + len <= 8
      && register_operand (val, HImode))
    {
      rtx nval = gen_lowpart (QImode, val);
      if (!MEM_P (nval)
	  || GET_MODE (operands[0]) == CCZmode
	  || pos + len < 8)
	{
	  val = nval;
	  mode = QImode;
	}
    }

  gcc_assert (pos + len <= GET_MODE_PRECISION (mode));

  /* If the mask is going to have the sign bit set in the mode
     we want to do the comparison in and user isn't interested just
     in the zero flag, then we must widen the target mode.  */
  if (pos + len == GET_MODE_PRECISION (mode)
      && GET_MODE (operands[0]) != CCZmode)
    {
      gcc_assert (pos + len < 32 && !MEM_P (val));
      mode = SImode;
      val = gen_lowpart (mode, val);
    }

  wide_int mask
    = wi::shifted_mask (pos, len, false, GET_MODE_PRECISION (mode));

  operands[2] = gen_rtx_AND (mode, val, immed_wide_int_const (mask, mode));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		operand2,
		const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9596 */
extern rtx_insn *gen_split_197 (rtx_insn *, rtx *);
rtx_insn *
gen_split_197 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_197 (i386.md:9596)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9648 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx val = operands[2];
  HOST_WIDE_INT len = INTVAL (operands[3]);
  HOST_WIDE_INT pos = INTVAL (operands[4]);
  machine_mode mode = GET_MODE (val);

  if (SUBREG_P (val))
    {
      machine_mode submode = GET_MODE (SUBREG_REG (val));

      /* Narrow paradoxical subregs to prevent partial register stalls.  */
      if (GET_MODE_BITSIZE (mode) > GET_MODE_BITSIZE (submode)
	  && GET_MODE_CLASS (submode) == MODE_INT
	  && (GET_MODE (operands[0]) == CCZmode
	      || pos + len < GET_MODE_PRECISION (submode)
	      || REG_P (SUBREG_REG (val))))
	{
	  val = SUBREG_REG (val);
	  mode = submode;
	}
    }

  /* Small HImode tests can be converted to QImode.  */
  if (pos + len <= 8
      && register_operand (val, HImode))
    {
      rtx nval = gen_lowpart (QImode, val);
      if (!MEM_P (nval)
	  || GET_MODE (operands[0]) == CCZmode
	  || pos + len < 8)
	{
	  val = nval;
	  mode = QImode;
	}
    }

  gcc_assert (pos + len <= GET_MODE_PRECISION (mode));

  /* If the mask is going to have the sign bit set in the mode
     we want to do the comparison in and user isn't interested just
     in the zero flag, then we must widen the target mode.  */
  if (pos + len == GET_MODE_PRECISION (mode)
      && GET_MODE (operands[0]) != CCZmode)
    {
      gcc_assert (pos + len < 32 && !MEM_P (val));
      mode = SImode;
      val = gen_lowpart (mode, val);
    }

  wide_int mask
    = wi::shifted_mask (pos, len, false, GET_MODE_PRECISION (mode));

  operands[2] = gen_rtx_AND (mode, val, immed_wide_int_const (mask, mode));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		operand2,
		const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9596 */
extern rtx_insn *gen_split_198 (rtx_insn *, rtx *);
rtx_insn *
gen_split_198 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_198 (i386.md:9596)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9648 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx val = operands[2];
  HOST_WIDE_INT len = INTVAL (operands[3]);
  HOST_WIDE_INT pos = INTVAL (operands[4]);
  machine_mode mode = GET_MODE (val);

  if (SUBREG_P (val))
    {
      machine_mode submode = GET_MODE (SUBREG_REG (val));

      /* Narrow paradoxical subregs to prevent partial register stalls.  */
      if (GET_MODE_BITSIZE (mode) > GET_MODE_BITSIZE (submode)
	  && GET_MODE_CLASS (submode) == MODE_INT
	  && (GET_MODE (operands[0]) == CCZmode
	      || pos + len < GET_MODE_PRECISION (submode)
	      || REG_P (SUBREG_REG (val))))
	{
	  val = SUBREG_REG (val);
	  mode = submode;
	}
    }

  /* Small HImode tests can be converted to QImode.  */
  if (pos + len <= 8
      && register_operand (val, HImode))
    {
      rtx nval = gen_lowpart (QImode, val);
      if (!MEM_P (nval)
	  || GET_MODE (operands[0]) == CCZmode
	  || pos + len < 8)
	{
	  val = nval;
	  mode = QImode;
	}
    }

  gcc_assert (pos + len <= GET_MODE_PRECISION (mode));

  /* If the mask is going to have the sign bit set in the mode
     we want to do the comparison in and user isn't interested just
     in the zero flag, then we must widen the target mode.  */
  if (pos + len == GET_MODE_PRECISION (mode)
      && GET_MODE (operands[0]) != CCZmode)
    {
      gcc_assert (pos + len < 32 && !MEM_P (val));
      mode = SImode;
      val = gen_lowpart (mode, val);
    }

  wide_int mask
    = wi::shifted_mask (pos, len, false, GET_MODE_PRECISION (mode));

  operands[2] = gen_rtx_AND (mode, val, immed_wide_int_const (mask, mode));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		operand2,
		const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9708 */
extern rtx_insn *gen_split_199 (rtx_insn *, rtx *);
rtx_insn *
gen_split_199 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_199 (i386.md:9708)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9729 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_lowpart (SImode, operands[2]);
  operands[3] = gen_int_mode (INTVAL (operands[3]) >> 8, QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		gen_rtx_AND (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand3),
		const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9734 */
extern rtx_insn *gen_split_200 (rtx_insn *, rtx *);
rtx_insn *
gen_split_200 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_200 (i386.md:9734)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9750 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_lowpart (QImode, operands[2]);
  operands[3] = gen_int_mode (INTVAL (operands[3]), QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		gen_rtx_AND (QImode,
	operand2,
	operand3),
		const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9759 */
rtx
gen_andqi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9764 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = QImode;

  if (QImode == DImode && !TARGET_64BIT)
    ;
  else if (const_int_operand (operands[2], QImode)
	   && register_operand (operands[0], QImode)
	   && !(TARGET_ZERO_EXTEND_WITH_AND
		&& optimize_function_for_speed_p (cfun)))
    {
      unsigned HOST_WIDE_INT ival = UINTVAL (operands[2]);

      if (ival == GET_MODE_MASK (SImode))
	mode = SImode;
      else if (ival == GET_MODE_MASK (HImode))
	mode = HImode;
      else if (ival == GET_MODE_MASK (QImode))
	mode = QImode;
    }

  if (mode != QImode)
    emit_insn (gen_extend_insn
	       (operands[0], gen_lowpart (mode, operands[1]),
		QImode, mode, 1));
  else
    ix86_expand_binary_operator (AND, QImode, operands);

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9759 */
rtx
gen_andhi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9764 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = HImode;

  if (HImode == DImode && !TARGET_64BIT)
    ;
  else if (const_int_operand (operands[2], HImode)
	   && register_operand (operands[0], HImode)
	   && !(TARGET_ZERO_EXTEND_WITH_AND
		&& optimize_function_for_speed_p (cfun)))
    {
      unsigned HOST_WIDE_INT ival = UINTVAL (operands[2]);

      if (ival == GET_MODE_MASK (SImode))
	mode = SImode;
      else if (ival == GET_MODE_MASK (HImode))
	mode = HImode;
      else if (ival == GET_MODE_MASK (QImode))
	mode = QImode;
    }

  if (mode != HImode)
    emit_insn (gen_extend_insn
	       (operands[0], gen_lowpart (mode, operands[1]),
		HImode, mode, 1));
  else
    ix86_expand_binary_operator (AND, HImode, operands);

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9759 */
rtx
gen_andsi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9764 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = SImode;

  if (SImode == DImode && !TARGET_64BIT)
    ;
  else if (const_int_operand (operands[2], SImode)
	   && register_operand (operands[0], SImode)
	   && !(TARGET_ZERO_EXTEND_WITH_AND
		&& optimize_function_for_speed_p (cfun)))
    {
      unsigned HOST_WIDE_INT ival = UINTVAL (operands[2]);

      if (ival == GET_MODE_MASK (SImode))
	mode = SImode;
      else if (ival == GET_MODE_MASK (HImode))
	mode = HImode;
      else if (ival == GET_MODE_MASK (QImode))
	mode = QImode;
    }

  if (mode != SImode)
    emit_insn (gen_extend_insn
	       (operands[0], gen_lowpart (mode, operands[1]),
		SImode, mode, 1));
  else
    ix86_expand_binary_operator (AND, SImode, operands);

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9759 */
rtx
gen_anddi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9764 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = DImode;

  if (DImode == DImode && !TARGET_64BIT)
    ;
  else if (const_int_operand (operands[2], DImode)
	   && register_operand (operands[0], DImode)
	   && !(TARGET_ZERO_EXTEND_WITH_AND
		&& optimize_function_for_speed_p (cfun)))
    {
      unsigned HOST_WIDE_INT ival = UINTVAL (operands[2]);

      if (ival == GET_MODE_MASK (SImode))
	mode = SImode;
      else if (ival == GET_MODE_MASK (HImode))
	mode = HImode;
      else if (ival == GET_MODE_MASK (QImode))
	mode = QImode;
    }

  if (mode != DImode)
    emit_insn (gen_extend_insn
	       (operands[0], gen_lowpart (mode, operands[1]),
		DImode, mode, 1));
  else
    ix86_expand_binary_operator (AND, DImode, operands);

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9794 */
extern rtx_insn *gen_split_201 (rtx_insn *, rtx *);
rtx_insn *
gen_split_201 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_201 (i386.md:9794)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9806 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (DImode, &operands[0], 3, &operands[0], &operands[3]);

  if (operands[2] == const0_rtx)
    emit_move_insn (operands[0], const0_rtx);
  else if (operands[2] == constm1_rtx)
    emit_move_insn (operands[0], operands[1]);
  else
    emit_insn (gen_andsi3 (operands[0], operands[1], operands[2]));

  if (operands[5] == const0_rtx)
    emit_move_insn (operands[3], const0_rtx);
  else if (operands[5] == constm1_rtx)
    emit_move_insn (operands[3], operands[4]);
  else
    emit_insn (gen_andsi3 (operands[3], operands[4], operands[5]));

  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9851 */
extern rtx_insn *gen_split_202 (rtx_insn *, rtx *);
rtx_insn *
gen_split_202 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_202 (i386.md:9851)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9867 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = GEN_INT (exact_log2 (~INTVAL (operands[2])));
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (DImode,
	operand0,
	const1_rtx,
	operand3),
	const0_rtx),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9874 */
extern rtx_insn *gen_split_203 (rtx_insn *, rtx *);
rtx_insn *
gen_split_203 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_203 (i386.md:9874)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9883 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (GET_CODE (operands[2]) == SYMBOL_REF
      || GET_CODE (operands[2]) == LABEL_REF)
    {
      operands[2] = shallow_copy_rtx (operands[2]);
      PUT_MODE (operands[2], SImode);
    }
  else if (GET_CODE (operands[2]) == CONST)
    {
      /* (const:DI (plus:DI (symbol_ref:DI ("...")) (const_int N))) */
      operands[2] = copy_rtx (operands[2]);
      PUT_MODE (operands[2], SImode);
      PUT_MODE (XEXP (operands[2], 0), SImode);
      PUT_MODE (XEXP (XEXP (operands[2], 0), 0), SImode);
    }    
  else
    operands[2] = gen_lowpart (SImode, operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_AND (SImode,
	operand1,
	operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9970 */
extern rtx_insn *gen_split_204 (rtx_insn *, rtx *);
rtx_insn *
gen_split_204 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_204 (i386.md:9970)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9985 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_AND (QImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9970 */
extern rtx_insn *gen_split_205 (rtx_insn *, rtx *);
rtx_insn *
gen_split_205 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_205 (i386.md:9970)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9985 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_AND (HImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9989 */
extern rtx_insn *gen_split_206 (rtx_insn *, rtx *);
rtx_insn *
gen_split_206 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_206 (i386.md:9989)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9998 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  unsigned HOST_WIDE_INT ival = UINTVAL (operands[2]);
  machine_mode mode;

  if (ival == GET_MODE_MASK (SImode))
    mode = SImode;
  else if (ival == GET_MODE_MASK (HImode))
    mode = HImode;
  else if (ival == GET_MODE_MASK (QImode))
    mode = QImode;
  else
    gcc_unreachable ();

  /* Zero extend to SImode to avoid partial register stalls.  */
  if (2 < GET_MODE_SIZE (SImode))
    operands[0] = gen_lowpart (SImode, operands[0]);

  emit_insn (gen_extend_insn
	     (operands[0], gen_lowpart (mode, operands[1]),
	      GET_MODE (operands[0]), mode, 1));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9989 */
extern rtx_insn *gen_split_207 (rtx_insn *, rtx *);
rtx_insn *
gen_split_207 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_207 (i386.md:9989)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9998 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  unsigned HOST_WIDE_INT ival = UINTVAL (operands[2]);
  machine_mode mode;

  if (ival == GET_MODE_MASK (SImode))
    mode = SImode;
  else if (ival == GET_MODE_MASK (HImode))
    mode = HImode;
  else if (ival == GET_MODE_MASK (QImode))
    mode = QImode;
  else
    gcc_unreachable ();

  /* Zero extend to SImode to avoid partial register stalls.  */
  if (4 < GET_MODE_SIZE (SImode))
    operands[0] = gen_lowpart (SImode, operands[0]);

  emit_insn (gen_extend_insn
	     (operands[0], gen_lowpart (mode, operands[1]),
	      GET_MODE (operands[0]), mode, 1));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:9989 */
extern rtx_insn *gen_split_208 (rtx_insn *, rtx *);
rtx_insn *
gen_split_208 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_208 (i386.md:9989)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9998 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  unsigned HOST_WIDE_INT ival = UINTVAL (operands[2]);
  machine_mode mode;

  if (ival == GET_MODE_MASK (SImode))
    mode = SImode;
  else if (ival == GET_MODE_MASK (HImode))
    mode = HImode;
  else if (ival == GET_MODE_MASK (QImode))
    mode = QImode;
  else
    gcc_unreachable ();

  /* Zero extend to SImode to avoid partial register stalls.  */
  if (8 < GET_MODE_SIZE (SImode))
    operands[0] = gen_lowpart (SImode, operands[0]);

  emit_insn (gen_extend_insn
	     (operands[0], gen_lowpart (mode, operands[1]),
	      GET_MODE (operands[0]), mode, 1));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10021 */
extern rtx_insn *gen_split_209 (rtx_insn *, rtx *);
rtx_insn *
gen_split_209 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_209 (i386.md:10021)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10029 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[1] = gen_lowpart (HImode, operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand1),
	const0_rtx));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10021 */
extern rtx_insn *gen_split_210 (rtx_insn *, rtx *);
rtx_insn *
gen_split_210 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_210 (i386.md:10021)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10029 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[1] = gen_lowpart (HImode, operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand1),
	const0_rtx));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10031 */
extern rtx_insn *gen_split_211 (rtx_insn *, rtx *);
rtx_insn *
gen_split_211 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_211 (i386.md:10031)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10039 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[1] = gen_lowpart (QImode, operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand1),
	const0_rtx));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10031 */
extern rtx_insn *gen_split_212 (rtx_insn *, rtx *);
rtx_insn *
gen_split_212 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_212 (i386.md:10031)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10039 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[1] = gen_lowpart (QImode, operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand1),
	const0_rtx));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10031 */
extern rtx_insn *gen_split_213 (rtx_insn *, rtx *);
rtx_insn *
gen_split_213 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_213 (i386.md:10031)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10039 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[1] = gen_lowpart (QImode, operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand1),
	const0_rtx));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10041 */
extern rtx_insn *gen_split_214 (rtx_insn *, rtx *);
rtx_insn *
gen_split_214 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_214 (i386.md:10041)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10063 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[0] = gen_lowpart (SImode, operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (SImode,
	operand0,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (SImode,
	gen_rtx_XOR (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (SImode,
	copy_rtx (operand0),
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (SImode,
	copy_rtx (operand0),
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0)),
	0)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10041 */
extern rtx_insn *gen_split_215 (rtx_insn *, rtx *);
rtx_insn *
gen_split_215 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_215 (i386.md:10041)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10063 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[0] = gen_lowpart (SImode, operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (SImode,
	operand0,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (SImode,
	gen_rtx_XOR (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (SImode,
	copy_rtx (operand0),
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (SImode,
	copy_rtx (operand0),
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0)),
	0)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10041 */
extern rtx_insn *gen_split_216 (rtx_insn *, rtx *);
rtx_insn *
gen_split_216 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_216 (i386.md:10041)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10063 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[0] = gen_lowpart (SImode, operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (SImode,
	operand0,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (SImode,
	gen_rtx_XOR (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (SImode,
	copy_rtx (operand0),
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (SImode,
	copy_rtx (operand0),
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0)),
	0)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10152 */
rtx
gen_andqi_ext_1 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (HImode,
	operand0,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (HImode,
	gen_rtx_AND (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (HImode,
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand2),
	0)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10250 */
extern rtx_insn *gen_split_217 (rtx_insn *, rtx *);
rtx_insn *
gen_split_217 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_217 (i386.md:10250)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10270 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[2] = gen_int_mode (INTVAL (operands[2]) >> 8, QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (SImode,
	operand0,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (SImode,
	gen_rtx_AND (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand2),
	0)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10250 */
extern rtx_insn *gen_split_218 (rtx_insn *, rtx *);
rtx_insn *
gen_split_218 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_218 (i386.md:10250)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10270 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[2] = gen_int_mode (INTVAL (operands[2]) >> 8, QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (SImode,
	operand0,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (SImode,
	gen_rtx_AND (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand2),
	0)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10250 */
extern rtx_insn *gen_split_219 (rtx_insn *, rtx *);
rtx_insn *
gen_split_219 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_219 (i386.md:10250)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10270 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[2] = gen_int_mode (INTVAL (operands[2]) >> 8, QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (SImode,
	operand0,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (SImode,
	gen_rtx_AND (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand2),
	0)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10278 */
extern rtx_insn *gen_split_220 (rtx_insn *, rtx *);
rtx_insn *
gen_split_220 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_220 (i386.md:10278)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10291 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (QImode, operands[0]);
  operands[1] = gen_lowpart (QImode, operands[1]);
  operands[2] = gen_int_mode (INTVAL (operands[2]), QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	gen_rtx_AND (QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10278 */
extern rtx_insn *gen_split_221 (rtx_insn *, rtx *);
rtx_insn *
gen_split_221 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_221 (i386.md:10278)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10291 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (QImode, operands[0]);
  operands[1] = gen_lowpart (QImode, operands[1]);
  operands[2] = gen_int_mode (INTVAL (operands[2]), QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	gen_rtx_AND (QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10278 */
extern rtx_insn *gen_split_222 (rtx_insn *, rtx *);
rtx_insn *
gen_split_222 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_222 (i386.md:10278)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10291 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (QImode, operands[0]);
  operands[1] = gen_lowpart (QImode, operands[1]);
  operands[2] = gen_int_mode (INTVAL (operands[2]), QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	gen_rtx_AND (QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10307 */
extern rtx_insn *gen_split_223 (rtx_insn *, rtx *);
rtx_insn *
gen_split_223 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_223 (i386.md:10307)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10321 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
split_double_mode (DImode, &operands[0], 3, &operands[0], &operands[3]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_NOT (SImode,
	operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand3,
	gen_rtx_AND (SImode,
	gen_rtx_NOT (SImode,
	operand4),
	operand5)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10323 */
extern rtx_insn *gen_split_224 (rtx_insn *, rtx *);
rtx_insn *
gen_split_224 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_224 (i386.md:10323)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10339 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[6] = gen_reg_rtx (SImode);
  operands[7] = gen_reg_rtx (SImode);

  split_double_mode (DImode, &operands[0], 3, &operands[0], &operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit_insn (gen_rtx_SET (operand6,
	gen_rtx_NOT (SImode,
	operand1)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	copy_rtx (operand6),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit_insn (gen_rtx_SET (operand7,
	gen_rtx_NOT (SImode,
	operand4)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand3,
	gen_rtx_AND (SImode,
	copy_rtx (operand7),
	operand5)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10403 */
rtx
gen_iorqi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10408 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (IOR, QImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10403 */
rtx
gen_xorqi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10408 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (XOR, QImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10403 */
rtx
gen_iorhi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10408 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (IOR, HImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10403 */
rtx
gen_xorhi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10408 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (XOR, HImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10403 */
rtx
gen_iorsi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10408 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (IOR, SImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10403 */
rtx
gen_xorsi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10408 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (XOR, SImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10403 */
rtx
gen_iordi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10408 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (IOR, DImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10403 */
rtx
gen_xordi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10408 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (XOR, DImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10410 */
extern rtx_insn *gen_split_225 (rtx_insn *, rtx *);
rtx_insn *
gen_split_225 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_225 (i386.md:10410)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* This insn may disappear completely when operands[2] == const0_rtx
     and operands[0] == operands[1], which requires a NOTE_INSN_DELETED.  */
  bool emit_insn_deleted_note_p = false;

  split_double_mode (DImode, &operands[0], 3, &operands[0], &operands[3]);

  if (operands[2] == const0_rtx)
    emit_insn_deleted_note_p = true;
  else if (operands[2] == constm1_rtx)
    {
      if (IOR == IOR)
	emit_move_insn (operands[0], constm1_rtx);
      else
	ix86_expand_unary_operator (NOT, SImode, &operands[0]);
    }
  else
    ix86_expand_binary_operator (IOR, SImode, &operands[0]);

  if (operands[5] == const0_rtx)
    {
      if (emit_insn_deleted_note_p)
	emit_note (NOTE_INSN_DELETED);
    }
  else if (operands[5] == constm1_rtx)
    {
      if (IOR == IOR)
	emit_move_insn (operands[3], constm1_rtx);
      else
	ix86_expand_unary_operator (NOT, SImode, &operands[3]);
    }
  else
    ix86_expand_binary_operator (IOR, SImode, &operands[3]);

  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10410 */
extern rtx_insn *gen_split_226 (rtx_insn *, rtx *);
rtx_insn *
gen_split_226 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_226 (i386.md:10410)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* This insn may disappear completely when operands[2] == const0_rtx
     and operands[0] == operands[1], which requires a NOTE_INSN_DELETED.  */
  bool emit_insn_deleted_note_p = false;

  split_double_mode (DImode, &operands[0], 3, &operands[0], &operands[3]);

  if (operands[2] == const0_rtx)
    emit_insn_deleted_note_p = true;
  else if (operands[2] == constm1_rtx)
    {
      if (XOR == IOR)
	emit_move_insn (operands[0], constm1_rtx);
      else
	ix86_expand_unary_operator (NOT, SImode, &operands[0]);
    }
  else
    ix86_expand_binary_operator (XOR, SImode, &operands[0]);

  if (operands[5] == const0_rtx)
    {
      if (emit_insn_deleted_note_p)
	emit_note (NOTE_INSN_DELETED);
    }
  else if (operands[5] == constm1_rtx)
    {
      if (XOR == IOR)
	emit_move_insn (operands[3], constm1_rtx);
      else
	ix86_expand_unary_operator (NOT, SImode, &operands[3]);
    }
  else
    ix86_expand_binary_operator (XOR, SImode, &operands[3]);

  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10479 */
extern rtx_insn *gen_split_227 (rtx_insn *, rtx *);
rtx_insn *
gen_split_227 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_227 (i386.md:10479)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10495 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = GEN_INT (exact_log2 (INTVAL (operands[2])));
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (DImode,
	operand0,
	const1_rtx,
	operand3),
	const1_rtx),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10501 */
extern rtx_insn *gen_split_228 (rtx_insn *, rtx *);
rtx_insn *
gen_split_228 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_228 (i386.md:10501)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10519 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = GEN_INT (exact_log2 (INTVAL (operands[2])));
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (DImode,
	operand0,
	const1_rtx,
	operand3),
	gen_rtx_NOT (DImode,
	gen_rtx_ZERO_EXTRACT (DImode,
	copy_rtx (operand0),
	const1_rtx,
	copy_rtx (operand3)))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10526 */
extern rtx_insn *gen_split_229 (rtx_insn *, rtx *);
rtx_insn *
gen_split_229 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_229 (i386.md:10526)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10555 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = force_reg (HImode, operands[1]);
  operands[3] = force_reg (HImode, operands[3]);
  operands[4] = gen_reg_rtx (HImode);
  operands[5] = gen_reg_rtx (HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	gen_rtx_AND (HImode,
	gen_rtx_NOT (HImode,
	operand3),
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand5,
	gen_rtx_AND (HImode,
	copy_rtx (operand3),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (HImode,
	copy_rtx (operand4),
	copy_rtx (operand5))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10526 */
extern rtx_insn *gen_split_230 (rtx_insn *, rtx *);
rtx_insn *
gen_split_230 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_230 (i386.md:10526)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10555 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = force_reg (SImode, operands[1]);
  operands[3] = force_reg (SImode, operands[3]);
  operands[4] = gen_reg_rtx (SImode);
  operands[5] = gen_reg_rtx (SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	gen_rtx_AND (SImode,
	gen_rtx_NOT (SImode,
	operand3),
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand5,
	gen_rtx_AND (SImode,
	copy_rtx (operand3),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (SImode,
	copy_rtx (operand4),
	copy_rtx (operand5))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10526 */
extern rtx_insn *gen_split_231 (rtx_insn *, rtx *);
rtx_insn *
gen_split_231 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_231 (i386.md:10526)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10555 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = force_reg (DImode, operands[1]);
  operands[3] = force_reg (DImode, operands[3]);
  operands[4] = gen_reg_rtx (DImode);
  operands[5] = gen_reg_rtx (DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	gen_rtx_AND (DImode,
	gen_rtx_NOT (DImode,
	operand3),
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand5,
	gen_rtx_AND (DImode,
	copy_rtx (operand3),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (DImode,
	copy_rtx (operand4),
	copy_rtx (operand5))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10613 */
extern rtx_insn *gen_split_232 (rtx_insn *, rtx *);
rtx_insn *
gen_split_232 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_232 (i386.md:10613)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10628 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_IOR (QImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10613 */
extern rtx_insn *gen_split_233 (rtx_insn *, rtx *);
rtx_insn *
gen_split_233 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_233 (i386.md:10613)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10628 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_XOR (QImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10613 */
extern rtx_insn *gen_split_234 (rtx_insn *, rtx *);
rtx_insn *
gen_split_234 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_234 (i386.md:10613)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10628 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_IOR (HImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10613 */
extern rtx_insn *gen_split_235 (rtx_insn *, rtx *);
rtx_insn *
gen_split_235 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_235 (i386.md:10613)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10628 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_XOR (HImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10636 */
extern rtx_insn *gen_split_236 (rtx_insn *, rtx *);
rtx_insn *
gen_split_236 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_236 (i386.md:10636)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10644 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = gen_reg_rtx (HImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_SIGN_EXTEND (HImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	copy_rtx (operand3),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10636 */
extern rtx_insn *gen_split_237 (rtx_insn *, rtx *);
rtx_insn *
gen_split_237 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_237 (i386.md:10636)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10644 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = gen_reg_rtx (HImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_SIGN_EXTEND (HImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (HImode,
	copy_rtx (operand3),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10636 */
extern rtx_insn *gen_split_238 (rtx_insn *, rtx *);
rtx_insn *
gen_split_238 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_238 (i386.md:10636)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10644 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = gen_reg_rtx (HImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_SIGN_EXTEND (HImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (HImode,
	copy_rtx (operand3),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10636 */
extern rtx_insn *gen_split_239 (rtx_insn *, rtx *);
rtx_insn *
gen_split_239 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_239 (i386.md:10636)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10644 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = gen_reg_rtx (SImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_SIGN_EXTEND (SImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	copy_rtx (operand3),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10636 */
extern rtx_insn *gen_split_240 (rtx_insn *, rtx *);
rtx_insn *
gen_split_240 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_240 (i386.md:10636)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10644 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = gen_reg_rtx (SImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_SIGN_EXTEND (SImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (SImode,
	copy_rtx (operand3),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10636 */
extern rtx_insn *gen_split_241 (rtx_insn *, rtx *);
rtx_insn *
gen_split_241 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_241 (i386.md:10636)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10644 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = gen_reg_rtx (SImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_SIGN_EXTEND (SImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (SImode,
	copy_rtx (operand3),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10636 */
extern rtx_insn *gen_split_242 (rtx_insn *, rtx *);
rtx_insn *
gen_split_242 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_242 (i386.md:10636)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10644 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = gen_reg_rtx (DImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_SIGN_EXTEND (DImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (DImode,
	copy_rtx (operand3),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10636 */
extern rtx_insn *gen_split_243 (rtx_insn *, rtx *);
rtx_insn *
gen_split_243 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_243 (i386.md:10636)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10644 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = gen_reg_rtx (DImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_SIGN_EXTEND (DImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (DImode,
	copy_rtx (operand3),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10636 */
extern rtx_insn *gen_split_244 (rtx_insn *, rtx *);
rtx_insn *
gen_split_244 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_244 (i386.md:10636)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10644 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = gen_reg_rtx (DImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_SIGN_EXTEND (DImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (DImode,
	copy_rtx (operand3),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10646 */
extern rtx_insn *gen_split_245 (rtx_insn *, rtx *);
rtx_insn *
gen_split_245 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_245 (i386.md:10646)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10654 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = gen_reg_rtx (SImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_SIGN_EXTEND (SImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	copy_rtx (operand3),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10646 */
extern rtx_insn *gen_split_246 (rtx_insn *, rtx *);
rtx_insn *
gen_split_246 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_246 (i386.md:10646)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10654 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = gen_reg_rtx (SImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_SIGN_EXTEND (SImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (SImode,
	copy_rtx (operand3),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10646 */
extern rtx_insn *gen_split_247 (rtx_insn *, rtx *);
rtx_insn *
gen_split_247 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_247 (i386.md:10646)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10654 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = gen_reg_rtx (SImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_SIGN_EXTEND (SImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (SImode,
	copy_rtx (operand3),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10646 */
extern rtx_insn *gen_split_248 (rtx_insn *, rtx *);
rtx_insn *
gen_split_248 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_248 (i386.md:10646)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10654 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = gen_reg_rtx (DImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_SIGN_EXTEND (DImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (DImode,
	copy_rtx (operand3),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10646 */
extern rtx_insn *gen_split_249 (rtx_insn *, rtx *);
rtx_insn *
gen_split_249 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_249 (i386.md:10646)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10654 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = gen_reg_rtx (DImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_SIGN_EXTEND (DImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (DImode,
	copy_rtx (operand3),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10646 */
extern rtx_insn *gen_split_250 (rtx_insn *, rtx *);
rtx_insn *
gen_split_250 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_250 (i386.md:10646)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10654 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = gen_reg_rtx (DImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_SIGN_EXTEND (DImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (DImode,
	copy_rtx (operand3),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10656 */
extern rtx_insn *gen_split_251 (rtx_insn *, rtx *);
rtx_insn *
gen_split_251 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_251 (i386.md:10656)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10664 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = gen_reg_rtx (DImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_SIGN_EXTEND (DImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (DImode,
	copy_rtx (operand3),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10656 */
extern rtx_insn *gen_split_252 (rtx_insn *, rtx *);
rtx_insn *
gen_split_252 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_252 (i386.md:10656)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10664 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = gen_reg_rtx (DImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_SIGN_EXTEND (DImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (DImode,
	copy_rtx (operand3),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10656 */
extern rtx_insn *gen_split_253 (rtx_insn *, rtx *);
rtx_insn *
gen_split_253 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_253 (i386.md:10656)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10664 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = gen_reg_rtx (DImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_SIGN_EXTEND (DImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (DImode,
	copy_rtx (operand3),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10775 */
extern rtx_insn *gen_split_254 (rtx_insn *, rtx *);
rtx_insn *
gen_split_254 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_254 (i386.md:10775)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10795 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* Handle the case where INTVAL (operands[2]) == 0.  */
  if (operands[2] == const0_rtx)
    {
      if (!rtx_equal_p (operands[0], operands[1]))
	emit_move_insn (operands[0], operands[1]);
      else
	emit_note (NOTE_INSN_DELETED);
      DONE;
    }
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[2] = gen_int_mode (INTVAL (operands[2]) >> 8, QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (SImode,
	operand0,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (SImode,
	gen_rtx_IOR (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand2),
	0)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10775 */
extern rtx_insn *gen_split_255 (rtx_insn *, rtx *);
rtx_insn *
gen_split_255 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_255 (i386.md:10775)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10795 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* Handle the case where INTVAL (operands[2]) == 0.  */
  if (operands[2] == const0_rtx)
    {
      if (!rtx_equal_p (operands[0], operands[1]))
	emit_move_insn (operands[0], operands[1]);
      else
	emit_note (NOTE_INSN_DELETED);
      DONE;
    }
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[2] = gen_int_mode (INTVAL (operands[2]) >> 8, QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (SImode,
	operand0,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (SImode,
	gen_rtx_XOR (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand2),
	0)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10775 */
extern rtx_insn *gen_split_256 (rtx_insn *, rtx *);
rtx_insn *
gen_split_256 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_256 (i386.md:10775)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10795 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* Handle the case where INTVAL (operands[2]) == 0.  */
  if (operands[2] == const0_rtx)
    {
      if (!rtx_equal_p (operands[0], operands[1]))
	emit_move_insn (operands[0], operands[1]);
      else
	emit_note (NOTE_INSN_DELETED);
      DONE;
    }
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[2] = gen_int_mode (INTVAL (operands[2]) >> 8, QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (SImode,
	operand0,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (SImode,
	gen_rtx_IOR (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand2),
	0)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10775 */
extern rtx_insn *gen_split_257 (rtx_insn *, rtx *);
rtx_insn *
gen_split_257 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_257 (i386.md:10775)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10795 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* Handle the case where INTVAL (operands[2]) == 0.  */
  if (operands[2] == const0_rtx)
    {
      if (!rtx_equal_p (operands[0], operands[1]))
	emit_move_insn (operands[0], operands[1]);
      else
	emit_note (NOTE_INSN_DELETED);
      DONE;
    }
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[2] = gen_int_mode (INTVAL (operands[2]) >> 8, QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (SImode,
	operand0,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (SImode,
	gen_rtx_XOR (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand2),
	0)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10775 */
extern rtx_insn *gen_split_258 (rtx_insn *, rtx *);
rtx_insn *
gen_split_258 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_258 (i386.md:10775)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10795 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* Handle the case where INTVAL (operands[2]) == 0.  */
  if (operands[2] == const0_rtx)
    {
      if (!rtx_equal_p (operands[0], operands[1]))
	emit_move_insn (operands[0], operands[1]);
      else
	emit_note (NOTE_INSN_DELETED);
      DONE;
    }
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[2] = gen_int_mode (INTVAL (operands[2]) >> 8, QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (SImode,
	operand0,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (SImode,
	gen_rtx_IOR (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand2),
	0)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10775 */
extern rtx_insn *gen_split_259 (rtx_insn *, rtx *);
rtx_insn *
gen_split_259 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_259 (i386.md:10775)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10795 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* Handle the case where INTVAL (operands[2]) == 0.  */
  if (operands[2] == const0_rtx)
    {
      if (!rtx_equal_p (operands[0], operands[1]))
	emit_move_insn (operands[0], operands[1]);
      else
	emit_note (NOTE_INSN_DELETED);
      DONE;
    }
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[2] = gen_int_mode (INTVAL (operands[2]) >> 8, QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (SImode,
	operand0,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (SImode,
	gen_rtx_XOR (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand2),
	0)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10812 */
extern rtx_insn *gen_split_260 (rtx_insn *, rtx *);
rtx_insn *
gen_split_260 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_260 (i386.md:10812)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10825 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (QImode, operands[0]);
  operands[1] = gen_lowpart (QImode, operands[1]);
  operands[2] = gen_int_mode (INTVAL (operands[2]), QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	gen_rtx_IOR (QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10812 */
extern rtx_insn *gen_split_261 (rtx_insn *, rtx *);
rtx_insn *
gen_split_261 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_261 (i386.md:10812)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10825 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (QImode, operands[0]);
  operands[1] = gen_lowpart (QImode, operands[1]);
  operands[2] = gen_int_mode (INTVAL (operands[2]), QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	gen_rtx_XOR (QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10812 */
extern rtx_insn *gen_split_262 (rtx_insn *, rtx *);
rtx_insn *
gen_split_262 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_262 (i386.md:10812)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10825 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (QImode, operands[0]);
  operands[1] = gen_lowpart (QImode, operands[1]);
  operands[2] = gen_int_mode (INTVAL (operands[2]), QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	gen_rtx_IOR (QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10812 */
extern rtx_insn *gen_split_263 (rtx_insn *, rtx *);
rtx_insn *
gen_split_263 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_263 (i386.md:10812)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10825 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (QImode, operands[0]);
  operands[1] = gen_lowpart (QImode, operands[1]);
  operands[2] = gen_int_mode (INTVAL (operands[2]), QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	gen_rtx_XOR (QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10812 */
extern rtx_insn *gen_split_264 (rtx_insn *, rtx *);
rtx_insn *
gen_split_264 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_264 (i386.md:10812)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10825 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (QImode, operands[0]);
  operands[1] = gen_lowpart (QImode, operands[1]);
  operands[2] = gen_int_mode (INTVAL (operands[2]), QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	gen_rtx_IOR (QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10812 */
extern rtx_insn *gen_split_265 (rtx_insn *, rtx *);
rtx_insn *
gen_split_265 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_265 (i386.md:10812)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10825 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (QImode, operands[0]);
  operands[1] = gen_lowpart (QImode, operands[1]);
  operands[2] = gen_int_mode (INTVAL (operands[2]), QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	gen_rtx_XOR (QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10831 */
rtx
gen_xorqi_ext_1_cc (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCNOmode,
	17),
	gen_rtx_COMPARE (CCNOmode,
	gen_rtx_XOR (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (HImode,
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand2),
	const0_rtx)),
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (HImode,
	operand0,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (HImode,
	gen_rtx_XOR (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (HImode,
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand2),
	0))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10886 */
extern rtx_insn *gen_split_266 (rtx_insn *, rtx *);
rtx_insn *
gen_split_266 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_266 (i386.md:10886)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10895 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3] = gen_highpart (SImode, operands[0]);
  operands[4] = gen_lowpart (SImode, operands[1]);
  operands[5] = gen_lowpart (SImode, operands[0]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand3,
	operand4));
  emit_insn (gen_rtx_SET (operand5,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10886 */
extern rtx_insn *gen_split_267 (rtx_insn *, rtx *);
rtx_insn *
gen_split_267 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_267 (i386.md:10886)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10895 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3] = gen_highpart (SImode, operands[0]);
  operands[4] = gen_lowpart (SImode, operands[1]);
  operands[5] = gen_lowpart (SImode, operands[0]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand3,
	operand4));
  emit_insn (gen_rtx_SET (operand5,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10886 */
extern rtx_insn *gen_split_268 (rtx_insn *, rtx *);
rtx_insn *
gen_split_268 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_268 (i386.md:10886)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10895 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3] = gen_highpart (SImode, operands[0]);
  operands[4] = gen_lowpart (SImode, operands[1]);
  operands[5] = gen_lowpart (SImode, operands[0]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand3,
	operand4));
  emit_insn (gen_rtx_SET (operand5,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10901 */
extern rtx_insn *gen_split_269 (rtx_insn *, rtx *);
rtx_insn *
gen_split_269 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_269 (i386.md:10901)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10910 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3] = gen_highpart (SImode, operands[0]);
  operands[4] = gen_lowpart (SImode, operands[2]);
  operands[5] = gen_lowpart (SImode, operands[0]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand3,
	operand4));
  emit_insn (gen_rtx_SET (operand5,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10901 */
extern rtx_insn *gen_split_270 (rtx_insn *, rtx *);
rtx_insn *
gen_split_270 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_270 (i386.md:10901)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10910 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3] = gen_highpart (SImode, operands[0]);
  operands[4] = gen_lowpart (SImode, operands[2]);
  operands[5] = gen_lowpart (SImode, operands[0]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand3,
	operand4));
  emit_insn (gen_rtx_SET (operand5,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10901 */
extern rtx_insn *gen_split_271 (rtx_insn *, rtx *);
rtx_insn *
gen_split_271 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_271 (i386.md:10901)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10910 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3] = gen_highpart (SImode, operands[0]);
  operands[4] = gen_lowpart (SImode, operands[2]);
  operands[5] = gen_lowpart (SImode, operands[0]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand3,
	operand4));
  emit_insn (gen_rtx_SET (operand5,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10918 */
rtx
gen_negqi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10922 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_unary_operator (NEG, QImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10918 */
rtx
gen_neghi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10922 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_unary_operator (NEG, HImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10918 */
rtx
gen_negsi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10922 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_unary_operator (NEG, SImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10918 */
rtx
gen_negdi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10922 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_unary_operator (NEG, DImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10918 */
rtx
gen_negti2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10922 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_unary_operator (NEG, TImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (TImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10924 */
extern rtx_insn *gen_split_272 (rtx_insn *, rtx *);
rtx_insn *
gen_split_272 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_272 (i386.md:10924)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10945 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
split_double_mode (DImode, &operands[0], 2, &operands[0], &operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_NE (CCCmode,
	operand1,
	const0_rtx)),
		gen_rtx_SET (operand0,
	gen_rtx_NEG (SImode,
	copy_rtx (operand1))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand2,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand3),
	const0_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand2),
	gen_rtx_NEG (SImode,
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10924 */
extern rtx_insn *gen_split_273 (rtx_insn *, rtx *);
rtx_insn *
gen_split_273 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_273 (i386.md:10924)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10945 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
split_double_mode (TImode, &operands[0], 2, &operands[0], &operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_NE (CCCmode,
	operand1,
	const0_rtx)),
		gen_rtx_SET (operand0,
	gen_rtx_NEG (DImode,
	copy_rtx (operand1))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand2,
	gen_rtx_PLUS (DImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand3),
	const0_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand2),
	gen_rtx_NEG (DImode,
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10967 */
extern rtx_insn *gen_split_274 (rtx_insn *, rtx *);
rtx_insn *
gen_split_274 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_274 (i386.md:10967)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10981 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_NEG (QImode,
	copy_rtx (operand0))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:10967 */
extern rtx_insn *gen_split_275 (rtx_insn *, rtx *);
rtx_insn *
gen_split_275 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_275 (i386.md:10967)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10981 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_NEG (HImode,
	copy_rtx (operand0))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11055 */
rtx
gen_negvqi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11066 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3]
    = gen_int_mode (HOST_WIDE_INT_1U << (GET_MODE_BITSIZE (QImode) - 1),
		    QImode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_NE (CCOmode,
	operand1,
	operand3)),
		gen_rtx_SET (operand0,
	gen_rtx_NEG (QImode,
	copy_rtx (operand1))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand2),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11055 */
rtx
gen_negvhi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11066 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3]
    = gen_int_mode (HOST_WIDE_INT_1U << (GET_MODE_BITSIZE (HImode) - 1),
		    HImode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_NE (CCOmode,
	operand1,
	operand3)),
		gen_rtx_SET (operand0,
	gen_rtx_NEG (HImode,
	copy_rtx (operand1))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand2),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11055 */
rtx
gen_negvsi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11066 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3]
    = gen_int_mode (HOST_WIDE_INT_1U << (GET_MODE_BITSIZE (SImode) - 1),
		    SImode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_NE (CCOmode,
	operand1,
	operand3)),
		gen_rtx_SET (operand0,
	gen_rtx_NEG (SImode,
	copy_rtx (operand1))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand2),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11055 */
rtx
gen_negvdi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11066 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3]
    = gen_int_mode (HOST_WIDE_INT_1U << (GET_MODE_BITSIZE (DImode) - 1),
		    DImode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCOmode,
	17),
	gen_rtx_NE (CCOmode,
	operand1,
	operand3)),
		gen_rtx_SET (operand0,
	gen_rtx_NEG (DImode,
	copy_rtx (operand1))))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCOmode,
	17),
	const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand2),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11085 */
extern rtx_insn *gen_peephole2_71 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_71 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_71 (i386.md:11085)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	gen_rtx_NEG (QImode,
	copy_rtx (operand0)),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_NEG (QImode,
	copy_rtx (operand0))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11085 */
extern rtx_insn *gen_peephole2_72 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_72 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_72 (i386.md:11085)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	gen_rtx_NEG (HImode,
	copy_rtx (operand0)),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_NEG (HImode,
	copy_rtx (operand0))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11085 */
extern rtx_insn *gen_peephole2_73 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_73 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_73 (i386.md:11085)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	gen_rtx_NEG (SImode,
	copy_rtx (operand0)),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_NEG (SImode,
	copy_rtx (operand0))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11085 */
extern rtx_insn *gen_peephole2_74 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_74 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_74 (i386.md:11085)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	gen_rtx_NEG (DImode,
	copy_rtx (operand0)),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_NEG (DImode,
	copy_rtx (operand0))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11099 */
rtx
gen_absqi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11107 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_EXPAND_ABS)
    {
      machine_mode mode = QImode;
      operands[1] = force_reg (mode, operands[1]);

      /* Generate rtx abs using:
	 abs (x) = (((signed) x >> (W-1)) ^ x) - ((signed) x >> (W-1)) */

      rtx shift_amount = gen_int_mode (GET_MODE_PRECISION (mode) - 1, QImode);
      rtx shift_dst = expand_simple_binop (mode, ASHIFTRT, operands[1],
					   shift_amount, NULL_RTX,
					   0, OPTAB_DIRECT);
      rtx xor_dst = expand_simple_binop (mode, XOR, shift_dst, operands[1],
				         operands[0], 0, OPTAB_DIRECT);
      rtx minus_dst = expand_simple_binop (mode, MINUS, xor_dst, shift_dst,
					   operands[0], 0, OPTAB_DIRECT);
      if (!rtx_equal_p (minus_dst, operands[0]))
        emit_move_insn (operands[0], minus_dst);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ABS (QImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11099 */
rtx
gen_abshi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11107 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_EXPAND_ABS)
    {
      machine_mode mode = HImode;
      operands[1] = force_reg (mode, operands[1]);

      /* Generate rtx abs using:
	 abs (x) = (((signed) x >> (W-1)) ^ x) - ((signed) x >> (W-1)) */

      rtx shift_amount = gen_int_mode (GET_MODE_PRECISION (mode) - 1, QImode);
      rtx shift_dst = expand_simple_binop (mode, ASHIFTRT, operands[1],
					   shift_amount, NULL_RTX,
					   0, OPTAB_DIRECT);
      rtx xor_dst = expand_simple_binop (mode, XOR, shift_dst, operands[1],
				         operands[0], 0, OPTAB_DIRECT);
      rtx minus_dst = expand_simple_binop (mode, MINUS, xor_dst, shift_dst,
					   operands[0], 0, OPTAB_DIRECT);
      if (!rtx_equal_p (minus_dst, operands[0]))
        emit_move_insn (operands[0], minus_dst);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ABS (HImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11099 */
rtx
gen_abssi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11107 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_EXPAND_ABS)
    {
      machine_mode mode = SImode;
      operands[1] = force_reg (mode, operands[1]);

      /* Generate rtx abs using:
	 abs (x) = (((signed) x >> (W-1)) ^ x) - ((signed) x >> (W-1)) */

      rtx shift_amount = gen_int_mode (GET_MODE_PRECISION (mode) - 1, QImode);
      rtx shift_dst = expand_simple_binop (mode, ASHIFTRT, operands[1],
					   shift_amount, NULL_RTX,
					   0, OPTAB_DIRECT);
      rtx xor_dst = expand_simple_binop (mode, XOR, shift_dst, operands[1],
				         operands[0], 0, OPTAB_DIRECT);
      rtx minus_dst = expand_simple_binop (mode, MINUS, xor_dst, shift_dst,
					   operands[0], 0, OPTAB_DIRECT);
      if (!rtx_equal_p (minus_dst, operands[0]))
        emit_move_insn (operands[0], minus_dst);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ABS (SImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11099 */
rtx
gen_absdi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11107 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_EXPAND_ABS)
    {
      machine_mode mode = DImode;
      operands[1] = force_reg (mode, operands[1]);

      /* Generate rtx abs using:
	 abs (x) = (((signed) x >> (W-1)) ^ x) - ((signed) x >> (W-1)) */

      rtx shift_amount = gen_int_mode (GET_MODE_PRECISION (mode) - 1, QImode);
      rtx shift_dst = expand_simple_binop (mode, ASHIFTRT, operands[1],
					   shift_amount, NULL_RTX,
					   0, OPTAB_DIRECT);
      rtx xor_dst = expand_simple_binop (mode, XOR, shift_dst, operands[1],
				         operands[0], 0, OPTAB_DIRECT);
      rtx minus_dst = expand_simple_binop (mode, MINUS, xor_dst, shift_dst,
					   operands[0], 0, OPTAB_DIRECT);
      if (!rtx_equal_p (minus_dst, operands[0]))
        emit_move_insn (operands[0], minus_dst);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ABS (DImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11099 */
rtx
gen_absti2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11107 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_EXPAND_ABS)
    {
      machine_mode mode = TImode;
      operands[1] = force_reg (mode, operands[1]);

      /* Generate rtx abs using:
	 abs (x) = (((signed) x >> (W-1)) ^ x) - ((signed) x >> (W-1)) */

      rtx shift_amount = gen_int_mode (GET_MODE_PRECISION (mode) - 1, QImode);
      rtx shift_dst = expand_simple_binop (mode, ASHIFTRT, operands[1],
					   shift_amount, NULL_RTX,
					   0, OPTAB_DIRECT);
      rtx xor_dst = expand_simple_binop (mode, XOR, shift_dst, operands[1],
				         operands[0], 0, OPTAB_DIRECT);
      rtx minus_dst = expand_simple_binop (mode, MINUS, xor_dst, shift_dst,
					   operands[0], 0, OPTAB_DIRECT);
      if (!rtx_equal_p (minus_dst, operands[0]))
        emit_move_insn (operands[0], minus_dst);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ABS (TImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11130 */
extern rtx_insn *gen_split_276 (rtx_insn *, rtx *);
rtx_insn *
gen_split_276 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_276 (i386.md:11130)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11166 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = force_reg (DImode, operands[1]);
  operands[2] = gen_reg_rtx (DImode);

  split_double_mode (DImode, &operands[0], 3, &operands[0], &operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_NE (CCCmode,
	operand1,
	const0_rtx)),
		gen_rtx_SET (operand2,
	gen_rtx_NEG (SImode,
	copy_rtx (operand1))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand5,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand4),
	const0_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGOCmode,
	17),
	gen_rtx_COMPARE (CCGOCmode,
	gen_rtx_NEG (SImode,
	copy_rtx (operand5)),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand5),
	gen_rtx_NEG (SImode,
	copy_rtx (operand5))))), true);
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	gen_rtx_GE (VOIDmode,
	gen_rtx_REG (CCGOCmode,
	17),
	const0_rtx),
	copy_rtx (operand2),
	copy_rtx (operand1))));
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_IF_THEN_ELSE (SImode,
	gen_rtx_GE (VOIDmode,
	gen_rtx_REG (CCGOCmode,
	17),
	const0_rtx),
	copy_rtx (operand5),
	copy_rtx (operand4))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11130 */
extern rtx_insn *gen_split_277 (rtx_insn *, rtx *);
rtx_insn *
gen_split_277 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_277 (i386.md:11130)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11166 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = force_reg (TImode, operands[1]);
  operands[2] = gen_reg_rtx (TImode);

  split_double_mode (TImode, &operands[0], 3, &operands[0], &operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_NE (CCCmode,
	operand1,
	const0_rtx)),
		gen_rtx_SET (operand2,
	gen_rtx_NEG (DImode,
	copy_rtx (operand1))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand5,
	gen_rtx_PLUS (DImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand4),
	const0_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGOCmode,
	17),
	gen_rtx_COMPARE (CCGOCmode,
	gen_rtx_NEG (DImode,
	copy_rtx (operand5)),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand5),
	gen_rtx_NEG (DImode,
	copy_rtx (operand5))))), true);
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DImode,
	gen_rtx_GE (VOIDmode,
	gen_rtx_REG (CCGOCmode,
	17),
	const0_rtx),
	copy_rtx (operand2),
	copy_rtx (operand1))));
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_IF_THEN_ELSE (DImode,
	gen_rtx_GE (VOIDmode,
	gen_rtx_REG (CCGOCmode,
	17),
	const0_rtx),
	copy_rtx (operand5),
	copy_rtx (operand4))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11173 */
extern rtx_insn *gen_split_278 (rtx_insn *, rtx *);
rtx_insn *
gen_split_278 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_278 (i386.md:11173)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11210 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = force_reg (DImode, operands[1]);
  operands[2] = gen_reg_rtx (DImode);

  split_double_mode (DImode, &operands[0], 3, &operands[0], &operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_NE (CCCmode,
	operand1,
	const0_rtx)),
		gen_rtx_SET (operand2,
	gen_rtx_NEG (SImode,
	copy_rtx (operand1))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand5,
	gen_rtx_PLUS (SImode,
	gen_rtx_PLUS (SImode,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand4),
	const0_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGOCmode,
	17),
	gen_rtx_COMPARE (CCGOCmode,
	gen_rtx_NEG (SImode,
	copy_rtx (operand5)),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand5),
	gen_rtx_NEG (SImode,
	copy_rtx (operand5))))), true);
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	gen_rtx_LT (VOIDmode,
	gen_rtx_REG (CCGOCmode,
	17),
	const0_rtx),
	copy_rtx (operand2),
	copy_rtx (operand1))));
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_IF_THEN_ELSE (SImode,
	gen_rtx_LT (VOIDmode,
	gen_rtx_REG (CCGOCmode,
	17),
	const0_rtx),
	copy_rtx (operand5),
	copy_rtx (operand4))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11173 */
extern rtx_insn *gen_split_279 (rtx_insn *, rtx *);
rtx_insn *
gen_split_279 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_279 (i386.md:11173)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11210 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = force_reg (TImode, operands[1]);
  operands[2] = gen_reg_rtx (TImode);

  split_double_mode (TImode, &operands[0], 3, &operands[0], &operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_NE (CCCmode,
	operand1,
	const0_rtx)),
		gen_rtx_SET (operand2,
	gen_rtx_NEG (DImode,
	copy_rtx (operand1))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand5,
	gen_rtx_PLUS (DImode,
	gen_rtx_PLUS (DImode,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx),
	operand4),
	const0_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGOCmode,
	17),
	gen_rtx_COMPARE (CCGOCmode,
	gen_rtx_NEG (DImode,
	copy_rtx (operand5)),
	const0_rtx)),
		gen_rtx_SET (copy_rtx (operand5),
	gen_rtx_NEG (DImode,
	copy_rtx (operand5))))), true);
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DImode,
	gen_rtx_LT (VOIDmode,
	gen_rtx_REG (CCGOCmode,
	17),
	const0_rtx),
	copy_rtx (operand2),
	copy_rtx (operand1))));
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_IF_THEN_ELSE (DImode,
	gen_rtx_LT (VOIDmode,
	gen_rtx_REG (CCGOCmode,
	17),
	const0_rtx),
	copy_rtx (operand5),
	copy_rtx (operand4))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11217 */
extern rtx_insn *gen_split_280 (rtx_insn *, rtx *);
rtx_insn *
gen_split_280 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_280 (i386.md:11217)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11239 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = force_reg (QImode, operands[1]);
  operands[2] = gen_reg_rtx (QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGOCmode,
	17),
	gen_rtx_COMPARE (CCGOCmode,
	gen_rtx_NEG (QImode,
	operand1),
	const0_rtx)),
		gen_rtx_SET (operand2,
	gen_rtx_NEG (QImode,
	copy_rtx (operand1))))), true);
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (QImode,
	gen_rtx_GE (VOIDmode,
	gen_rtx_REG (CCGOCmode,
	17),
	const0_rtx),
	copy_rtx (operand2),
	copy_rtx (operand1))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11217 */
extern rtx_insn *gen_split_281 (rtx_insn *, rtx *);
rtx_insn *
gen_split_281 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_281 (i386.md:11217)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11239 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = force_reg (HImode, operands[1]);
  operands[2] = gen_reg_rtx (HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGOCmode,
	17),
	gen_rtx_COMPARE (CCGOCmode,
	gen_rtx_NEG (HImode,
	operand1),
	const0_rtx)),
		gen_rtx_SET (operand2,
	gen_rtx_NEG (HImode,
	copy_rtx (operand1))))), true);
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (HImode,
	gen_rtx_GE (VOIDmode,
	gen_rtx_REG (CCGOCmode,
	17),
	const0_rtx),
	copy_rtx (operand2),
	copy_rtx (operand1))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11217 */
extern rtx_insn *gen_split_282 (rtx_insn *, rtx *);
rtx_insn *
gen_split_282 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_282 (i386.md:11217)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11239 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = force_reg (SImode, operands[1]);
  operands[2] = gen_reg_rtx (SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGOCmode,
	17),
	gen_rtx_COMPARE (CCGOCmode,
	gen_rtx_NEG (SImode,
	operand1),
	const0_rtx)),
		gen_rtx_SET (operand2,
	gen_rtx_NEG (SImode,
	copy_rtx (operand1))))), true);
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	gen_rtx_GE (VOIDmode,
	gen_rtx_REG (CCGOCmode,
	17),
	const0_rtx),
	copy_rtx (operand2),
	copy_rtx (operand1))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11217 */
extern rtx_insn *gen_split_283 (rtx_insn *, rtx *);
rtx_insn *
gen_split_283 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_283 (i386.md:11217)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11239 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = force_reg (DImode, operands[1]);
  operands[2] = gen_reg_rtx (DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGOCmode,
	17),
	gen_rtx_COMPARE (CCGOCmode,
	gen_rtx_NEG (DImode,
	operand1),
	const0_rtx)),
		gen_rtx_SET (operand2,
	gen_rtx_NEG (DImode,
	copy_rtx (operand1))))), true);
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DImode,
	gen_rtx_GE (VOIDmode,
	gen_rtx_REG (CCGOCmode,
	17),
	const0_rtx),
	copy_rtx (operand2),
	copy_rtx (operand1))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11244 */
extern rtx_insn *gen_split_284 (rtx_insn *, rtx *);
rtx_insn *
gen_split_284 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_284 (i386.md:11244)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11267 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = force_reg (QImode, operands[1]);
  operands[2] = gen_reg_rtx (QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGOCmode,
	17),
	gen_rtx_COMPARE (CCGOCmode,
	gen_rtx_NEG (QImode,
	operand1),
	const0_rtx)),
		gen_rtx_SET (operand2,
	gen_rtx_NEG (QImode,
	copy_rtx (operand1))))), true);
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (QImode,
	gen_rtx_LT (VOIDmode,
	gen_rtx_REG (CCGOCmode,
	17),
	const0_rtx),
	copy_rtx (operand2),
	copy_rtx (operand1))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11244 */
extern rtx_insn *gen_split_285 (rtx_insn *, rtx *);
rtx_insn *
gen_split_285 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_285 (i386.md:11244)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11267 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = force_reg (HImode, operands[1]);
  operands[2] = gen_reg_rtx (HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGOCmode,
	17),
	gen_rtx_COMPARE (CCGOCmode,
	gen_rtx_NEG (HImode,
	operand1),
	const0_rtx)),
		gen_rtx_SET (operand2,
	gen_rtx_NEG (HImode,
	copy_rtx (operand1))))), true);
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (HImode,
	gen_rtx_LT (VOIDmode,
	gen_rtx_REG (CCGOCmode,
	17),
	const0_rtx),
	copy_rtx (operand2),
	copy_rtx (operand1))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11244 */
extern rtx_insn *gen_split_286 (rtx_insn *, rtx *);
rtx_insn *
gen_split_286 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_286 (i386.md:11244)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11267 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = force_reg (SImode, operands[1]);
  operands[2] = gen_reg_rtx (SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGOCmode,
	17),
	gen_rtx_COMPARE (CCGOCmode,
	gen_rtx_NEG (SImode,
	operand1),
	const0_rtx)),
		gen_rtx_SET (operand2,
	gen_rtx_NEG (SImode,
	copy_rtx (operand1))))), true);
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	gen_rtx_LT (VOIDmode,
	gen_rtx_REG (CCGOCmode,
	17),
	const0_rtx),
	copy_rtx (operand2),
	copy_rtx (operand1))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11244 */
extern rtx_insn *gen_split_287 (rtx_insn *, rtx *);
rtx_insn *
gen_split_287 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_287 (i386.md:11244)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11267 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = force_reg (DImode, operands[1]);
  operands[2] = gen_reg_rtx (DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCGOCmode,
	17),
	gen_rtx_COMPARE (CCGOCmode,
	gen_rtx_NEG (DImode,
	operand1),
	const0_rtx)),
		gen_rtx_SET (operand2,
	gen_rtx_NEG (DImode,
	copy_rtx (operand1))))), true);
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DImode,
	gen_rtx_LT (VOIDmode,
	gen_rtx_REG (CCGOCmode,
	17),
	const0_rtx),
	copy_rtx (operand2),
	copy_rtx (operand1))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11272 */
rtx
gen_abstf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11276 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_fp_absneg_operator (ABS, TFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (TFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11272 */
rtx
gen_negtf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11276 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_fp_absneg_operator (NEG, TFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (TFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11278 */
extern rtx_insn *gen_split_288 (rtx_insn *, rtx *);
rtx_insn *
gen_split_288 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_288 (i386.md:11278)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11288 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (TFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11278 */
extern rtx_insn *gen_split_289 (rtx_insn *, rtx *);
rtx_insn *
gen_split_289 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_289 (i386.md:11278)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11288 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (TFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11302 */
extern rtx_insn *gen_split_290 (rtx_insn *, rtx *);
rtx_insn *
gen_split_290 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_290 (i386.md:11302)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11313 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (TFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11327 */
rtx
gen_abshf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11331 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_fp_absneg_operator (ABS, HFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (HFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11327 */
rtx
gen_neghf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11331 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_fp_absneg_operator (NEG, HFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (HFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11333 */
rtx
gen_abssf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11337 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_fp_absneg_operator (ABS, SFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11333 */
rtx
gen_negsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11337 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_fp_absneg_operator (NEG, SFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11333 */
rtx
gen_absdf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11337 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_fp_absneg_operator (ABS, DFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11333 */
rtx
gen_negdf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11337 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_fp_absneg_operator (NEG, DFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11333 */
rtx
gen_absxf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11337 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_fp_absneg_operator (ABS, XFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (XFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11333 */
rtx
gen_negxf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11337 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_fp_absneg_operator (NEG, XFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (XFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11348 */
extern rtx_insn *gen_split_291 (rtx_insn *, rtx *);
rtx_insn *
gen_split_291 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_291 (i386.md:11348)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11348 */
extern rtx_insn *gen_split_292 (rtx_insn *, rtx *);
rtx_insn *
gen_split_292 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_292 (i386.md:11348)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11348 */
extern rtx_insn *gen_split_293 (rtx_insn *, rtx *);
rtx_insn *
gen_split_293 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_293 (i386.md:11348)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11348 */
extern rtx_insn *gen_split_294 (rtx_insn *, rtx *);
rtx_insn *
gen_split_294 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_294 (i386.md:11348)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11348 */
extern rtx_insn *gen_split_295 (rtx_insn *, rtx *);
rtx_insn *
gen_split_295 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_295 (i386.md:11348)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (XFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11348 */
extern rtx_insn *gen_split_296 (rtx_insn *, rtx *);
rtx_insn *
gen_split_296 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_296 (i386.md:11348)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (XFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11355 */
extern rtx_insn *gen_split_297 (rtx_insn *, rtx *);
rtx_insn *
gen_split_297 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_297 (i386.md:11355)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11361 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_fp_absneg_operator (ABS, SFmode, operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11355 */
extern rtx_insn *gen_split_298 (rtx_insn *, rtx *);
rtx_insn *
gen_split_298 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_298 (i386.md:11355)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11361 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_fp_absneg_operator (NEG, SFmode, operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11355 */
extern rtx_insn *gen_split_299 (rtx_insn *, rtx *);
rtx_insn *
gen_split_299 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_299 (i386.md:11355)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11361 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_fp_absneg_operator (ABS, DFmode, operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11355 */
extern rtx_insn *gen_split_300 (rtx_insn *, rtx *);
rtx_insn *
gen_split_300 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_300 (i386.md:11355)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11361 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_fp_absneg_operator (NEG, DFmode, operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11355 */
extern rtx_insn *gen_split_301 (rtx_insn *, rtx *);
rtx_insn *
gen_split_301 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_301 (i386.md:11355)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11361 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_fp_absneg_operator (ABS, XFmode, operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11355 */
extern rtx_insn *gen_split_302 (rtx_insn *, rtx *);
rtx_insn *
gen_split_302 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_302 (i386.md:11355)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11361 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_fp_absneg_operator (NEG, XFmode, operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11363 */
extern rtx_insn *gen_split_303 (rtx_insn *, rtx *);
rtx_insn *
gen_split_303 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_303 (i386.md:11363)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11374 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = lowpart_subreg (V8HFmode, operands[0], HFmode);
  operands[1] = lowpart_subreg (V8HFmode, operands[1], HFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V8HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11363 */
extern rtx_insn *gen_split_304 (rtx_insn *, rtx *);
rtx_insn *
gen_split_304 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_304 (i386.md:11363)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11374 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = lowpart_subreg (V8HFmode, operands[0], HFmode);
  operands[1] = lowpart_subreg (V8HFmode, operands[1], HFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V8HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11400 */
extern rtx_insn *gen_split_305 (rtx_insn *, rtx *);
rtx_insn *
gen_split_305 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_305 (i386.md:11400)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11410 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = SFmode;
  machine_mode vmode = V4SFmode;

  operands[0] = lowpart_subreg (vmode, operands[0], mode);
  operands[1] = lowpart_subreg (vmode, operands[1], mode);

  if (!TARGET_AVX && operands_match_p (operands[0], operands[2]))
    std::swap (operands[1], operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V4SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11400 */
extern rtx_insn *gen_split_306 (rtx_insn *, rtx *);
rtx_insn *
gen_split_306 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_306 (i386.md:11400)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11410 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = SFmode;
  machine_mode vmode = V4SFmode;

  operands[0] = lowpart_subreg (vmode, operands[0], mode);
  operands[1] = lowpart_subreg (vmode, operands[1], mode);

  if (!TARGET_AVX && operands_match_p (operands[0], operands[2]))
    std::swap (operands[1], operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V4SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11400 */
extern rtx_insn *gen_split_307 (rtx_insn *, rtx *);
rtx_insn *
gen_split_307 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_307 (i386.md:11400)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11410 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = DFmode;
  machine_mode vmode = V2DFmode;

  operands[0] = lowpart_subreg (vmode, operands[0], mode);
  operands[1] = lowpart_subreg (vmode, operands[1], mode);

  if (!TARGET_AVX && operands_match_p (operands[0], operands[2]))
    std::swap (operands[1], operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V2DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11400 */
extern rtx_insn *gen_split_308 (rtx_insn *, rtx *);
rtx_insn *
gen_split_308 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_308 (i386.md:11400)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11410 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = DFmode;
  machine_mode vmode = V2DFmode;

  operands[0] = lowpart_subreg (vmode, operands[0], mode);
  operands[1] = lowpart_subreg (vmode, operands[1], mode);

  if (!TARGET_AVX && operands_match_p (operands[0], operands[2]))
    std::swap (operands[1], operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V2DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11421 */
extern rtx_insn *gen_split_309 (rtx_insn *, rtx *);
rtx_insn *
gen_split_309 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_309 (i386.md:11421)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11421 */
extern rtx_insn *gen_split_310 (rtx_insn *, rtx *);
rtx_insn *
gen_split_310 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_310 (i386.md:11421)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11421 */
extern rtx_insn *gen_split_311 (rtx_insn *, rtx *);
rtx_insn *
gen_split_311 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_311 (i386.md:11421)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11421 */
extern rtx_insn *gen_split_312 (rtx_insn *, rtx *);
rtx_insn *
gen_split_312 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_312 (i386.md:11421)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11429 */
extern rtx_insn *gen_split_313 (rtx_insn *, rtx *);
rtx_insn *
gen_split_313 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_313 (i386.md:11429)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11436 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_fp_absneg_operator (ABS, SFmode, operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11429 */
extern rtx_insn *gen_split_314 (rtx_insn *, rtx *);
rtx_insn *
gen_split_314 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_314 (i386.md:11429)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11436 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_fp_absneg_operator (NEG, SFmode, operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11429 */
extern rtx_insn *gen_split_315 (rtx_insn *, rtx *);
rtx_insn *
gen_split_315 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_315 (i386.md:11429)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11436 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_fp_absneg_operator (ABS, DFmode, operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11429 */
extern rtx_insn *gen_split_316 (rtx_insn *, rtx *);
rtx_insn *
gen_split_316 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_316 (i386.md:11429)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11436 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_fp_absneg_operator (NEG, DFmode, operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11438 */
extern rtx_insn *gen_split_317 (rtx_insn *, rtx *);
rtx_insn *
gen_split_317 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_317 (i386.md:11438)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11449 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = SFmode;
  machine_mode vmode = V4SFmode;

  operands[0] = lowpart_subreg (vmode, operands[0], mode);
  operands[1] = lowpart_subreg (vmode, operands[1], mode);

  if (!TARGET_AVX && operands_match_p (operands[0], operands[2]))
    std::swap (operands[1], operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V4SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11438 */
extern rtx_insn *gen_split_318 (rtx_insn *, rtx *);
rtx_insn *
gen_split_318 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_318 (i386.md:11438)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11449 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = DFmode;
  machine_mode vmode = V2DFmode;

  operands[0] = lowpart_subreg (vmode, operands[0], mode);
  operands[1] = lowpart_subreg (vmode, operands[1], mode);

  if (!TARGET_AVX && operands_match_p (operands[0], operands[2]))
    std::swap (operands[1], operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V2DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11474 */
rtx
gen_copysignhf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"copysignhf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11481 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_copysign (operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11474 */
rtx
gen_copysignsf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"copysignsf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11481 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_copysign (operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11474 */
rtx
gen_copysigndf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"copysigndf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11481 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_copysign (operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11474 */
rtx
gen_copysigntf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"copysigntf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11481 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_copysign (operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11483 */
rtx
gen_xorsignhf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"xorsignhf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11489 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (rtx_equal_p (operands[1], operands[2]))
    emit_insn (gen_abshf2 (operands[0], operands[1]));
  else
    ix86_expand_xorsign (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11483 */
rtx
gen_xorsignsf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"xorsignsf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11489 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (rtx_equal_p (operands[1], operands[2]))
    emit_insn (gen_abssf2 (operands[0], operands[1]));
  else
    ix86_expand_xorsign (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11483 */
rtx
gen_xorsigndf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"xorsigndf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11489 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (rtx_equal_p (operands[1], operands[2]))
    emit_insn (gen_absdf2 (operands[0], operands[1]));
  else
    ix86_expand_xorsign (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11499 */
rtx
gen_one_cmplqi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11503 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_unary_operator (NOT, QImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NOT (QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11499 */
rtx
gen_one_cmplhi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11503 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_unary_operator (NOT, HImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NOT (HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11499 */
rtx
gen_one_cmplsi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11503 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_unary_operator (NOT, SImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NOT (SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11499 */
rtx
gen_one_cmpldi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11503 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_unary_operator (NOT, DImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NOT (DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11505 */
extern rtx_insn *gen_split_319 (rtx_insn *, rtx *);
rtx_insn *
gen_split_319 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_319 (i386.md:11505)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11517 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
split_double_mode (DImode, &operands[0], 2, &operands[0], &operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NOT (SImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_NOT (SImode,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11573 */
extern rtx_insn *gen_split_320 (rtx_insn *, rtx *);
rtx_insn *
gen_split_320 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_320 (i386.md:11573)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11584 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_NOT (QImode,
	copy_rtx (operand0))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11573 */
extern rtx_insn *gen_split_321 (rtx_insn *, rtx *);
rtx_insn *
gen_split_321 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_321 (i386.md:11573)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11584 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_NOT (HImode,
	copy_rtx (operand0))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11600 */
extern rtx_insn *gen_split_322 (rtx_insn *, rtx *);
rtx_insn *
gen_split_322 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_322 (i386.md:11600)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand2), GET_MODE (operand2),
		gen_rtx_XOR (QImode,
	operand3,
	constm1_rtx),
		const0_rtx)),
		gen_rtx_SET (operand1,
	gen_rtx_XOR (QImode,
	copy_rtx (operand3),
	constm1_rtx)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11600 */
extern rtx_insn *gen_split_323 (rtx_insn *, rtx *);
rtx_insn *
gen_split_323 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_323 (i386.md:11600)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand2), GET_MODE (operand2),
		gen_rtx_XOR (HImode,
	operand3,
	constm1_rtx),
		const0_rtx)),
		gen_rtx_SET (operand1,
	gen_rtx_XOR (HImode,
	copy_rtx (operand3),
	constm1_rtx)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11600 */
extern rtx_insn *gen_split_324 (rtx_insn *, rtx *);
rtx_insn *
gen_split_324 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_324 (i386.md:11600)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand2), GET_MODE (operand2),
		gen_rtx_XOR (SImode,
	operand3,
	constm1_rtx),
		const0_rtx)),
		gen_rtx_SET (operand1,
	gen_rtx_XOR (SImode,
	copy_rtx (operand3),
	constm1_rtx)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11600 */
extern rtx_insn *gen_split_325 (rtx_insn *, rtx *);
rtx_insn *
gen_split_325 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_325 (i386.md:11600)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand2), GET_MODE (operand2),
		gen_rtx_XOR (DImode,
	operand3,
	constm1_rtx),
		const0_rtx)),
		gen_rtx_SET (operand1,
	gen_rtx_XOR (DImode,
	copy_rtx (operand3),
	constm1_rtx)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11626 */
extern rtx_insn *gen_split_326 (rtx_insn *, rtx *);
rtx_insn *
gen_split_326 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_326 (i386.md:11626)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand2), GET_MODE (operand2),
		gen_rtx_XOR (SImode,
	operand3,
	constm1_rtx),
		const0_rtx)),
		gen_rtx_SET (operand1,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_XOR (SImode,
	copy_rtx (operand3),
	constm1_rtx))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11664 */
rtx
gen_ashlqi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11669 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (ASHIFT, QImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11664 */
rtx
gen_ashlhi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11669 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (ASHIFT, HImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11664 */
rtx
gen_ashlsi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11669 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (ASHIFT, SImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11664 */
rtx
gen_ashldi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11669 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (ASHIFT, DImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11664 */
rtx
gen_ashlti3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11669 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (ASHIFT, TImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (TImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11671 */
extern rtx_insn *gen_split_327 (rtx_insn *, rtx *);
rtx_insn *
gen_split_327 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_327 (i386.md:11671)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11697 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (DImode, &operands[0], 2, &operands[4], &operands[6]);

  operands[8] = GEN_INT (4 * BITS_PER_UNIT - 1);
  operands[9] = GEN_INT (4 * BITS_PER_UNIT);

  if ((INTVAL (operands[3]) & ((4 * BITS_PER_UNIT) - 1))
      != ((4 * BITS_PER_UNIT) - 1))
    {
      rtx tem = gen_reg_rtx (SImode);
      emit_insn (gen_andsi3 (tem, operands[2], operands[3]));
      operands[2] = tem;
    }

  operands[2] = gen_lowpart (QImode, operands[2]);

  if (!rtx_equal_p (operands[6], operands[7]))
    emit_move_insn (operands[6], operands[7]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand6,
	gen_rtx_IOR (SImode,
	gen_rtx_ASHIFT (SImode,
	copy_rtx (operand6),
	gen_rtx_AND (QImode,
	operand2,
	operand8)),
	gen_rtx_SUBREG (SImode,
	gen_rtx_LSHIFTRT (DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	operand5),
	gen_rtx_MINUS (QImode,
	operand9,
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand8)))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	gen_rtx_ASHIFT (SImode,
	copy_rtx (operand5),
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11671 */
extern rtx_insn *gen_split_328 (rtx_insn *, rtx *);
rtx_insn *
gen_split_328 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_328 (i386.md:11671)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11697 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (TImode, &operands[0], 2, &operands[4], &operands[6]);

  operands[8] = GEN_INT (8 * BITS_PER_UNIT - 1);
  operands[9] = GEN_INT (8 * BITS_PER_UNIT);

  if ((INTVAL (operands[3]) & ((8 * BITS_PER_UNIT) - 1))
      != ((8 * BITS_PER_UNIT) - 1))
    {
      rtx tem = gen_reg_rtx (SImode);
      emit_insn (gen_andsi3 (tem, operands[2], operands[3]));
      operands[2] = tem;
    }

  operands[2] = gen_lowpart (QImode, operands[2]);

  if (!rtx_equal_p (operands[6], operands[7]))
    emit_move_insn (operands[6], operands[7]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand6,
	gen_rtx_IOR (DImode,
	gen_rtx_ASHIFT (DImode,
	copy_rtx (operand6),
	gen_rtx_AND (QImode,
	operand2,
	operand8)),
	gen_rtx_SUBREG (DImode,
	gen_rtx_LSHIFTRT (TImode,
	gen_rtx_ZERO_EXTEND (TImode,
	operand5),
	gen_rtx_MINUS (QImode,
	operand9,
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand8)))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	gen_rtx_ASHIFT (DImode,
	copy_rtx (operand5),
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11717 */
extern rtx_insn *gen_split_329 (rtx_insn *, rtx *);
rtx_insn *
gen_split_329 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_329 (i386.md:11717)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11742 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (DImode, &operands[0], 2, &operands[4], &operands[6]);

  operands[8] = GEN_INT (4 * BITS_PER_UNIT - 1);
  operands[9] = GEN_INT (4 * BITS_PER_UNIT);

  if ((INTVAL (operands[3]) & ((4 * BITS_PER_UNIT) - 1))
      != ((4 * BITS_PER_UNIT) - 1))
    {
      rtx tem = gen_reg_rtx (QImode);
      emit_insn (gen_andqi3 (tem, operands[2], operands[3]));
      operands[2] = tem;
    }

  if (!rtx_equal_p (operands[6], operands[7]))
    emit_move_insn (operands[6], operands[7]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand6,
	gen_rtx_IOR (SImode,
	gen_rtx_ASHIFT (SImode,
	copy_rtx (operand6),
	gen_rtx_AND (QImode,
	operand2,
	operand8)),
	gen_rtx_SUBREG (SImode,
	gen_rtx_LSHIFTRT (DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	operand5),
	gen_rtx_MINUS (QImode,
	operand9,
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand8)))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	gen_rtx_ASHIFT (SImode,
	copy_rtx (operand5),
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11717 */
extern rtx_insn *gen_split_330 (rtx_insn *, rtx *);
rtx_insn *
gen_split_330 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_330 (i386.md:11717)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11742 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (TImode, &operands[0], 2, &operands[4], &operands[6]);

  operands[8] = GEN_INT (8 * BITS_PER_UNIT - 1);
  operands[9] = GEN_INT (8 * BITS_PER_UNIT);

  if ((INTVAL (operands[3]) & ((8 * BITS_PER_UNIT) - 1))
      != ((8 * BITS_PER_UNIT) - 1))
    {
      rtx tem = gen_reg_rtx (QImode);
      emit_insn (gen_andqi3 (tem, operands[2], operands[3]));
      operands[2] = tem;
    }

  if (!rtx_equal_p (operands[6], operands[7]))
    emit_move_insn (operands[6], operands[7]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand6,
	gen_rtx_IOR (DImode,
	gen_rtx_ASHIFT (DImode,
	copy_rtx (operand6),
	gen_rtx_AND (QImode,
	operand2,
	operand8)),
	gen_rtx_SUBREG (DImode,
	gen_rtx_LSHIFTRT (TImode,
	gen_rtx_ZERO_EXTEND (TImode,
	operand5),
	gen_rtx_MINUS (QImode,
	operand9,
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand8)))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	gen_rtx_ASHIFT (DImode,
	copy_rtx (operand5),
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11769 */
extern rtx_insn *gen_split_331 (rtx_insn *, rtx *);
rtx_insn *
gen_split_331 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_331 (i386.md:11769)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11776 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_ashl (operands, NULL_RTX, DImode); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11769 */
extern rtx_insn *gen_split_332 (rtx_insn *, rtx *);
rtx_insn *
gen_split_332 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_332 (i386.md:11769)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11776 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_ashl (operands, NULL_RTX, TImode); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11782 */
extern rtx_insn *gen_peephole2_75 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_75 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[3] = peep2_find_free_register (0, 1, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_75 (i386.md:11782)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11792 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_ashl (operands, operands[3], DImode); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11782 */
extern rtx_insn *gen_peephole2_76 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_76 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[3] = peep2_find_free_register (0, 1, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_76 (i386.md:11782)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11792 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_ashl (operands, operands[3], TImode); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11836 */
extern rtx_insn *gen_split_333 (rtx_insn *, rtx *);
rtx_insn *
gen_split_333 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_333 (i386.md:11836)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (DImode,
	gen_rtx_ASHIFT (DImode,
	copy_rtx (operand0),
	gen_rtx_AND (QImode,
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (63)])),
	gen_rtx_SUBREG (DImode,
	gen_rtx_LSHIFTRT (TImode,
	gen_rtx_ZERO_EXTEND (TImode,
	operand1),
	gen_rtx_MINUS (QImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (64)],
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	const_int_rtx[MAX_SAVED_CONST_INT + (63)]))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11900 */
extern rtx_insn *gen_split_334 (rtx_insn *, rtx *);
rtx_insn *
gen_split_334 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_334 (i386.md:11900)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (SImode,
	gen_rtx_ASHIFT (SImode,
	copy_rtx (operand0),
	gen_rtx_AND (QImode,
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (31)])),
	gen_rtx_SUBREG (SImode,
	gen_rtx_LSHIFTRT (DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1),
	gen_rtx_MINUS (QImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (32)],
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	const_int_rtx[MAX_SAVED_CONST_INT + (31)]))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11921 */
rtx
gen_x86_shiftsi_adj_1 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11935 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = GEN_INT (GET_MODE_BITSIZE (SImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	gen_rtx_AND (QImode,
	operand2,
	operand4),
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	gen_rtx_NE (VOIDmode,
	gen_rtx_REG (CCZmode,
	17),
	const0_rtx),
	operand1,
	copy_rtx (operand0))));
  emit_insn (gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_IF_THEN_ELSE (SImode,
	gen_rtx_NE (VOIDmode,
	gen_rtx_REG (CCZmode,
	17),
	const0_rtx),
	operand3,
	copy_rtx (operand1))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11921 */
rtx
gen_x86_shiftdi_adj_1 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11935 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = GEN_INT (GET_MODE_BITSIZE (DImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	gen_rtx_AND (QImode,
	operand2,
	operand4),
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DImode,
	gen_rtx_NE (VOIDmode,
	gen_rtx_REG (CCZmode,
	17),
	const0_rtx),
	operand1,
	copy_rtx (operand0))));
  emit_insn (gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_IF_THEN_ELSE (DImode,
	gen_rtx_NE (VOIDmode,
	gen_rtx_REG (CCZmode,
	17),
	const0_rtx),
	operand3,
	copy_rtx (operand1))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11937 */
rtx
gen_x86_shiftsi_adj_2 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11942 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx_code_label *label = gen_label_rtx ();
  rtx tmp;

  emit_insn (gen_testqi_ccz_1 (operands[2],
			       GEN_INT (GET_MODE_BITSIZE (SImode))));

  tmp = gen_rtx_REG (CCZmode, FLAGS_REG);
  tmp = gen_rtx_EQ (VOIDmode, tmp, const0_rtx);
  tmp = gen_rtx_IF_THEN_ELSE (VOIDmode, tmp,
			      gen_rtx_LABEL_REF (VOIDmode, label),
			      pc_rtx);
  tmp = emit_jump_insn (gen_rtx_SET (pc_rtx, tmp));
  JUMP_LABEL (tmp) = label;

  emit_move_insn (operands[0], operands[1]);
  ix86_expand_clear (operands[1]);

  emit_label (label);
  LABEL_NUSES (label) = 1;

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11937 */
rtx
gen_x86_shiftdi_adj_2 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11942 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx_code_label *label = gen_label_rtx ();
  rtx tmp;

  emit_insn (gen_testqi_ccz_1 (operands[2],
			       GEN_INT (GET_MODE_BITSIZE (DImode))));

  tmp = gen_rtx_REG (CCZmode, FLAGS_REG);
  tmp = gen_rtx_EQ (VOIDmode, tmp, const0_rtx);
  tmp = gen_rtx_IF_THEN_ELSE (VOIDmode, tmp,
			      gen_rtx_LABEL_REF (VOIDmode, label),
			      pc_rtx);
  tmp = emit_jump_insn (gen_rtx_SET (pc_rtx, tmp));
  JUMP_LABEL (tmp) = label;

  emit_move_insn (operands[0], operands[1]);
  ix86_expand_clear (operands[1]);

  emit_label (label);
  LABEL_NUSES (label) = 1;

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11967 */
extern rtx_insn *gen_split_335 (rtx_insn *, rtx *);
rtx_insn *
gen_split_335 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_335 (i386.md:11967)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11987 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (QImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11967 */
extern rtx_insn *gen_split_336 (rtx_insn *, rtx *);
rtx_insn *
gen_split_336 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_336 (i386.md:11967)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11987 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (QImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11990 */
extern rtx_insn *gen_split_337 (rtx_insn *, rtx *);
rtx_insn *
gen_split_337 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_337 (i386.md:11990)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12009 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:11990 */
extern rtx_insn *gen_split_338 (rtx_insn *, rtx *);
rtx_insn *
gen_split_338 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_338 (i386.md:11990)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12009 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12074 */
extern rtx_insn *gen_split_339 (rtx_insn *, rtx *);
rtx_insn *
gen_split_339 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_339 (i386.md:12074)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12082 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (SImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12074 */
extern rtx_insn *gen_split_340 (rtx_insn *, rtx *);
rtx_insn *
gen_split_340 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_340 (i386.md:12074)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12082 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (DImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12143 */
extern rtx_insn *gen_split_341 (rtx_insn *, rtx *);
rtx_insn *
gen_split_341 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_341 (i386.md:12143)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12152 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (SImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_ASHIFT (SImode,
	operand1,
	operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12269 */
extern rtx_insn *gen_split_342 (rtx_insn *, rtx *);
rtx_insn *
gen_split_342 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_342 (i386.md:12269)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12299 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_ASHIFT (QImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12269 */
extern rtx_insn *gen_split_343 (rtx_insn *, rtx *);
rtx_insn *
gen_split_343 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_343 (i386.md:12269)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12299 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_ASHIFT (HImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12318 */
extern rtx_insn *gen_split_344 (rtx_insn *, rtx *);
rtx_insn *
gen_split_344 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_344 (i386.md:12318)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12327 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (QImode != SImode)
    {
      operands[0] = gen_lowpart (SImode, operands[0]);
      operands[1] = gen_lowpart (SImode, operands[1]);
    }
  operands[2] = GEN_INT (1 << INTVAL (operands[2]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12318 */
extern rtx_insn *gen_split_345 (rtx_insn *, rtx *);
rtx_insn *
gen_split_345 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_345 (i386.md:12318)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12327 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (HImode != SImode)
    {
      operands[0] = gen_lowpart (SImode, operands[0]);
      operands[1] = gen_lowpart (SImode, operands[1]);
    }
  operands[2] = GEN_INT (1 << INTVAL (operands[2]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12318 */
extern rtx_insn *gen_split_346 (rtx_insn *, rtx *);
rtx_insn *
gen_split_346 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_346 (i386.md:12318)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12327 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (SImode != SImode)
    {
      operands[0] = gen_lowpart (SImode, operands[0]);
      operands[1] = gen_lowpart (SImode, operands[1]);
    }
  operands[2] = GEN_INT (1 << INTVAL (operands[2]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12318 */
extern rtx_insn *gen_split_347 (rtx_insn *, rtx *);
rtx_insn *
gen_split_347 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_347 (i386.md:12318)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12327 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (DImode != DImode)
    {
      operands[0] = gen_lowpart (DImode, operands[0]);
      operands[1] = gen_lowpart (DImode, operands[1]);
    }
  operands[2] = GEN_INT (1 << INTVAL (operands[2]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12337 */
extern rtx_insn *gen_split_348 (rtx_insn *, rtx *);
rtx_insn *
gen_split_348 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_348 (i386.md:12337)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12347 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[2] = GEN_INT (1 << INTVAL (operands[2]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_MULT (SImode,
	operand1,
	operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12547 */
rtx
gen_lshrqi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12552 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (LSHIFTRT, QImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12547 */
rtx
gen_ashrqi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12552 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (ASHIFTRT, QImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12547 */
rtx
gen_lshrhi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12552 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (LSHIFTRT, HImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12547 */
rtx
gen_ashrhi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12552 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (ASHIFTRT, HImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12547 */
rtx
gen_lshrsi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12552 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (LSHIFTRT, SImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12547 */
rtx
gen_ashrsi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12552 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (ASHIFTRT, SImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12547 */
rtx
gen_lshrdi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12552 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (LSHIFTRT, DImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12547 */
rtx
gen_ashrdi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12552 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (ASHIFTRT, DImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12547 */
rtx
gen_lshrti3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12552 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (LSHIFTRT, TImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (TImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12547 */
rtx
gen_ashrti3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12552 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (ASHIFTRT, TImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (TImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12555 */
extern rtx_insn *gen_split_349 (rtx_insn *, rtx *);
rtx_insn *
gen_split_349 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_349 (i386.md:12555)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12575 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (QImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12555 */
extern rtx_insn *gen_split_350 (rtx_insn *, rtx *);
rtx_insn *
gen_split_350 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_350 (i386.md:12555)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12575 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (QImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12555 */
extern rtx_insn *gen_split_351 (rtx_insn *, rtx *);
rtx_insn *
gen_split_351 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_351 (i386.md:12555)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12575 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (QImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12555 */
extern rtx_insn *gen_split_352 (rtx_insn *, rtx *);
rtx_insn *
gen_split_352 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_352 (i386.md:12555)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12575 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (QImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12578 */
extern rtx_insn *gen_split_353 (rtx_insn *, rtx *);
rtx_insn *
gen_split_353 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_353 (i386.md:12578)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12597 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12578 */
extern rtx_insn *gen_split_354 (rtx_insn *, rtx *);
rtx_insn *
gen_split_354 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_354 (i386.md:12578)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12597 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12578 */
extern rtx_insn *gen_split_355 (rtx_insn *, rtx *);
rtx_insn *
gen_split_355 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_355 (i386.md:12578)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12597 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12578 */
extern rtx_insn *gen_split_356 (rtx_insn *, rtx *);
rtx_insn *
gen_split_356 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_356 (i386.md:12578)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12597 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12600 */
extern rtx_insn *gen_split_357 (rtx_insn *, rtx *);
rtx_insn *
gen_split_357 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_357 (i386.md:12600)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12626 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (DImode, &operands[0], 2, &operands[4], &operands[6]);

  operands[8] = GEN_INT (4 * BITS_PER_UNIT - 1);
  operands[9] = GEN_INT (4 * BITS_PER_UNIT);

  if ((INTVAL (operands[3]) & ((4 * BITS_PER_UNIT) - 1))
      != ((4 * BITS_PER_UNIT) - 1))
    {
      rtx tem = gen_reg_rtx (SImode);
      emit_insn (gen_andsi3 (tem, operands[2], operands[3]));
      operands[2] = tem;
    }

  operands[2] = gen_lowpart (QImode, operands[2]);

  if (!rtx_equal_p (operands[4], operands[5]))
    emit_move_insn (operands[4], operands[5]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	gen_rtx_IOR (SImode,
	gen_rtx_LSHIFTRT (SImode,
	copy_rtx (operand4),
	gen_rtx_AND (QImode,
	operand2,
	operand8)),
	gen_rtx_SUBREG (SImode,
	gen_rtx_ASHIFT (DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	operand7),
	gen_rtx_MINUS (QImode,
	operand9,
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand8)))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand6,
	gen_rtx_LSHIFTRT (SImode,
	copy_rtx (operand7),
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12600 */
extern rtx_insn *gen_split_358 (rtx_insn *, rtx *);
rtx_insn *
gen_split_358 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_358 (i386.md:12600)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12626 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (DImode, &operands[0], 2, &operands[4], &operands[6]);

  operands[8] = GEN_INT (4 * BITS_PER_UNIT - 1);
  operands[9] = GEN_INT (4 * BITS_PER_UNIT);

  if ((INTVAL (operands[3]) & ((4 * BITS_PER_UNIT) - 1))
      != ((4 * BITS_PER_UNIT) - 1))
    {
      rtx tem = gen_reg_rtx (SImode);
      emit_insn (gen_andsi3 (tem, operands[2], operands[3]));
      operands[2] = tem;
    }

  operands[2] = gen_lowpart (QImode, operands[2]);

  if (!rtx_equal_p (operands[4], operands[5]))
    emit_move_insn (operands[4], operands[5]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	gen_rtx_IOR (SImode,
	gen_rtx_LSHIFTRT (SImode,
	copy_rtx (operand4),
	gen_rtx_AND (QImode,
	operand2,
	operand8)),
	gen_rtx_SUBREG (SImode,
	gen_rtx_ASHIFT (DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	operand7),
	gen_rtx_MINUS (QImode,
	operand9,
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand8)))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand6,
	gen_rtx_ASHIFTRT (SImode,
	copy_rtx (operand7),
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12600 */
extern rtx_insn *gen_split_359 (rtx_insn *, rtx *);
rtx_insn *
gen_split_359 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_359 (i386.md:12600)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12626 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (TImode, &operands[0], 2, &operands[4], &operands[6]);

  operands[8] = GEN_INT (8 * BITS_PER_UNIT - 1);
  operands[9] = GEN_INT (8 * BITS_PER_UNIT);

  if ((INTVAL (operands[3]) & ((8 * BITS_PER_UNIT) - 1))
      != ((8 * BITS_PER_UNIT) - 1))
    {
      rtx tem = gen_reg_rtx (SImode);
      emit_insn (gen_andsi3 (tem, operands[2], operands[3]));
      operands[2] = tem;
    }

  operands[2] = gen_lowpart (QImode, operands[2]);

  if (!rtx_equal_p (operands[4], operands[5]))
    emit_move_insn (operands[4], operands[5]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	gen_rtx_IOR (DImode,
	gen_rtx_LSHIFTRT (DImode,
	copy_rtx (operand4),
	gen_rtx_AND (QImode,
	operand2,
	operand8)),
	gen_rtx_SUBREG (DImode,
	gen_rtx_ASHIFT (TImode,
	gen_rtx_ZERO_EXTEND (TImode,
	operand7),
	gen_rtx_MINUS (QImode,
	operand9,
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand8)))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand6,
	gen_rtx_LSHIFTRT (DImode,
	copy_rtx (operand7),
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12600 */
extern rtx_insn *gen_split_360 (rtx_insn *, rtx *);
rtx_insn *
gen_split_360 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_360 (i386.md:12600)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12626 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (TImode, &operands[0], 2, &operands[4], &operands[6]);

  operands[8] = GEN_INT (8 * BITS_PER_UNIT - 1);
  operands[9] = GEN_INT (8 * BITS_PER_UNIT);

  if ((INTVAL (operands[3]) & ((8 * BITS_PER_UNIT) - 1))
      != ((8 * BITS_PER_UNIT) - 1))
    {
      rtx tem = gen_reg_rtx (SImode);
      emit_insn (gen_andsi3 (tem, operands[2], operands[3]));
      operands[2] = tem;
    }

  operands[2] = gen_lowpart (QImode, operands[2]);

  if (!rtx_equal_p (operands[4], operands[5]))
    emit_move_insn (operands[4], operands[5]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	gen_rtx_IOR (DImode,
	gen_rtx_LSHIFTRT (DImode,
	copy_rtx (operand4),
	gen_rtx_AND (QImode,
	operand2,
	operand8)),
	gen_rtx_SUBREG (DImode,
	gen_rtx_ASHIFT (TImode,
	gen_rtx_ZERO_EXTEND (TImode,
	operand7),
	gen_rtx_MINUS (QImode,
	operand9,
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand8)))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand6,
	gen_rtx_ASHIFTRT (DImode,
	copy_rtx (operand7),
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12646 */
extern rtx_insn *gen_split_361 (rtx_insn *, rtx *);
rtx_insn *
gen_split_361 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_361 (i386.md:12646)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12671 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (DImode, &operands[0], 2, &operands[4], &operands[6]);

  operands[8] = GEN_INT (4 * BITS_PER_UNIT - 1);
  operands[9] = GEN_INT (4 * BITS_PER_UNIT);

  if ((INTVAL (operands[3]) & ((4 * BITS_PER_UNIT) - 1))
      != ((4 * BITS_PER_UNIT) - 1))
    {
      rtx tem = gen_reg_rtx (QImode);
      emit_insn (gen_andqi3 (tem, operands[2], operands[3]));
      operands[2] = tem;
    }

  if (!rtx_equal_p (operands[4], operands[5]))
    emit_move_insn (operands[4], operands[5]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	gen_rtx_IOR (SImode,
	gen_rtx_LSHIFTRT (SImode,
	copy_rtx (operand4),
	gen_rtx_AND (QImode,
	operand2,
	operand8)),
	gen_rtx_SUBREG (SImode,
	gen_rtx_ASHIFT (DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	operand7),
	gen_rtx_MINUS (QImode,
	operand9,
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand8)))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand6,
	gen_rtx_LSHIFTRT (SImode,
	copy_rtx (operand7),
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12646 */
extern rtx_insn *gen_split_362 (rtx_insn *, rtx *);
rtx_insn *
gen_split_362 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_362 (i386.md:12646)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12671 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (DImode, &operands[0], 2, &operands[4], &operands[6]);

  operands[8] = GEN_INT (4 * BITS_PER_UNIT - 1);
  operands[9] = GEN_INT (4 * BITS_PER_UNIT);

  if ((INTVAL (operands[3]) & ((4 * BITS_PER_UNIT) - 1))
      != ((4 * BITS_PER_UNIT) - 1))
    {
      rtx tem = gen_reg_rtx (QImode);
      emit_insn (gen_andqi3 (tem, operands[2], operands[3]));
      operands[2] = tem;
    }

  if (!rtx_equal_p (operands[4], operands[5]))
    emit_move_insn (operands[4], operands[5]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	gen_rtx_IOR (SImode,
	gen_rtx_LSHIFTRT (SImode,
	copy_rtx (operand4),
	gen_rtx_AND (QImode,
	operand2,
	operand8)),
	gen_rtx_SUBREG (SImode,
	gen_rtx_ASHIFT (DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	operand7),
	gen_rtx_MINUS (QImode,
	operand9,
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand8)))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand6,
	gen_rtx_ASHIFTRT (SImode,
	copy_rtx (operand7),
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12646 */
extern rtx_insn *gen_split_363 (rtx_insn *, rtx *);
rtx_insn *
gen_split_363 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_363 (i386.md:12646)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12671 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (TImode, &operands[0], 2, &operands[4], &operands[6]);

  operands[8] = GEN_INT (8 * BITS_PER_UNIT - 1);
  operands[9] = GEN_INT (8 * BITS_PER_UNIT);

  if ((INTVAL (operands[3]) & ((8 * BITS_PER_UNIT) - 1))
      != ((8 * BITS_PER_UNIT) - 1))
    {
      rtx tem = gen_reg_rtx (QImode);
      emit_insn (gen_andqi3 (tem, operands[2], operands[3]));
      operands[2] = tem;
    }

  if (!rtx_equal_p (operands[4], operands[5]))
    emit_move_insn (operands[4], operands[5]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	gen_rtx_IOR (DImode,
	gen_rtx_LSHIFTRT (DImode,
	copy_rtx (operand4),
	gen_rtx_AND (QImode,
	operand2,
	operand8)),
	gen_rtx_SUBREG (DImode,
	gen_rtx_ASHIFT (TImode,
	gen_rtx_ZERO_EXTEND (TImode,
	operand7),
	gen_rtx_MINUS (QImode,
	operand9,
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand8)))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand6,
	gen_rtx_LSHIFTRT (DImode,
	copy_rtx (operand7),
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12646 */
extern rtx_insn *gen_split_364 (rtx_insn *, rtx *);
rtx_insn *
gen_split_364 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_364 (i386.md:12646)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12671 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (TImode, &operands[0], 2, &operands[4], &operands[6]);

  operands[8] = GEN_INT (8 * BITS_PER_UNIT - 1);
  operands[9] = GEN_INT (8 * BITS_PER_UNIT);

  if ((INTVAL (operands[3]) & ((8 * BITS_PER_UNIT) - 1))
      != ((8 * BITS_PER_UNIT) - 1))
    {
      rtx tem = gen_reg_rtx (QImode);
      emit_insn (gen_andqi3 (tem, operands[2], operands[3]));
      operands[2] = tem;
    }

  if (!rtx_equal_p (operands[4], operands[5]))
    emit_move_insn (operands[4], operands[5]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	gen_rtx_IOR (DImode,
	gen_rtx_LSHIFTRT (DImode,
	copy_rtx (operand4),
	gen_rtx_AND (QImode,
	operand2,
	operand8)),
	gen_rtx_SUBREG (DImode,
	gen_rtx_ASHIFT (TImode,
	gen_rtx_ZERO_EXTEND (TImode,
	operand7),
	gen_rtx_MINUS (QImode,
	operand9,
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand8)))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand6,
	gen_rtx_ASHIFTRT (DImode,
	copy_rtx (operand7),
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12689 */
extern rtx_insn *gen_split_365 (rtx_insn *, rtx *);
rtx_insn *
gen_split_365 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_365 (i386.md:12689)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12698 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_lshr (operands, NULL_RTX, DImode); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12689 */
extern rtx_insn *gen_split_366 (rtx_insn *, rtx *);
rtx_insn *
gen_split_366 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_366 (i386.md:12689)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12698 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_ashr (operands, NULL_RTX, DImode); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12689 */
extern rtx_insn *gen_split_367 (rtx_insn *, rtx *);
rtx_insn *
gen_split_367 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_367 (i386.md:12689)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12698 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_lshr (operands, NULL_RTX, TImode); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12689 */
extern rtx_insn *gen_split_368 (rtx_insn *, rtx *);
rtx_insn *
gen_split_368 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_368 (i386.md:12689)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12698 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_ashr (operands, NULL_RTX, TImode); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12705 */
extern rtx_insn *gen_peephole2_77 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_77 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[3] = peep2_find_free_register (0, 1, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_77 (i386.md:12705)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12715 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_lshr (operands, operands[3], DImode); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12705 */
extern rtx_insn *gen_peephole2_78 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_78 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[3] = peep2_find_free_register (0, 1, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_78 (i386.md:12705)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12715 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_ashr (operands, operands[3], DImode); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12705 */
extern rtx_insn *gen_peephole2_79 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_79 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[3] = peep2_find_free_register (0, 1, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_79 (i386.md:12705)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12715 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_lshr (operands, operands[3], TImode); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12705 */
extern rtx_insn *gen_peephole2_80 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_80 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[3] = peep2_find_free_register (0, 1, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_80 (i386.md:12705)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12715 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_ashr (operands, operands[3], TImode); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12759 */
extern rtx_insn *gen_split_369 (rtx_insn *, rtx *);
rtx_insn *
gen_split_369 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_369 (i386.md:12759)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (DImode,
	gen_rtx_LSHIFTRT (DImode,
	copy_rtx (operand0),
	gen_rtx_AND (QImode,
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (63)])),
	gen_rtx_SUBREG (DImode,
	gen_rtx_ASHIFT (TImode,
	gen_rtx_ZERO_EXTEND (TImode,
	operand1),
	gen_rtx_MINUS (QImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (64)],
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	const_int_rtx[MAX_SAVED_CONST_INT + (63)]))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12823 */
extern rtx_insn *gen_split_370 (rtx_insn *, rtx *);
rtx_insn *
gen_split_370 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_370 (i386.md:12823)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (SImode,
	gen_rtx_LSHIFTRT (SImode,
	copy_rtx (operand0),
	gen_rtx_AND (QImode,
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (31)])),
	gen_rtx_SUBREG (SImode,
	gen_rtx_ASHIFT (DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1),
	gen_rtx_MINUS (QImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (32)],
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	const_int_rtx[MAX_SAVED_CONST_INT + (31)]))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12884 */
rtx
gen_x86_shiftsi_adj_3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12889 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx_code_label *label = gen_label_rtx ();
  rtx tmp;

  emit_insn (gen_testqi_ccz_1 (operands[2],
			       GEN_INT (GET_MODE_BITSIZE (SImode))));

  tmp = gen_rtx_REG (CCZmode, FLAGS_REG);
  tmp = gen_rtx_EQ (VOIDmode, tmp, const0_rtx);
  tmp = gen_rtx_IF_THEN_ELSE (VOIDmode, tmp,
			      gen_rtx_LABEL_REF (VOIDmode, label),
			      pc_rtx);
  tmp = emit_jump_insn (gen_rtx_SET (pc_rtx, tmp));
  JUMP_LABEL (tmp) = label;

  emit_move_insn (operands[0], operands[1]);
  emit_insn (gen_ashrsi3_cvt (operands[1], operands[1],
				  GEN_INT (GET_MODE_BITSIZE (SImode)-1)));
  emit_label (label);
  LABEL_NUSES (label) = 1;

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12884 */
rtx
gen_x86_shiftdi_adj_3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12889 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx_code_label *label = gen_label_rtx ();
  rtx tmp;

  emit_insn (gen_testqi_ccz_1 (operands[2],
			       GEN_INT (GET_MODE_BITSIZE (DImode))));

  tmp = gen_rtx_REG (CCZmode, FLAGS_REG);
  tmp = gen_rtx_EQ (VOIDmode, tmp, const0_rtx);
  tmp = gen_rtx_IF_THEN_ELSE (VOIDmode, tmp,
			      gen_rtx_LABEL_REF (VOIDmode, label),
			      pc_rtx);
  tmp = emit_jump_insn (gen_rtx_SET (pc_rtx, tmp));
  JUMP_LABEL (tmp) = label;

  emit_move_insn (operands[0], operands[1]);
  emit_insn (gen_ashrdi3_cvt (operands[1], operands[1],
				  GEN_INT (GET_MODE_BITSIZE (DImode)-1)));
  emit_label (label);
  LABEL_NUSES (label) = 1;

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12989 */
extern rtx_insn *gen_split_371 (rtx_insn *, rtx *);
rtx_insn *
gen_split_371 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_371 (i386.md:12989)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12997 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (SImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12989 */
extern rtx_insn *gen_split_372 (rtx_insn *, rtx *);
rtx_insn *
gen_split_372 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_372 (i386.md:12989)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12997 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (SImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12989 */
extern rtx_insn *gen_split_373 (rtx_insn *, rtx *);
rtx_insn *
gen_split_373 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_373 (i386.md:12989)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12997 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (DImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:12989 */
extern rtx_insn *gen_split_374 (rtx_insn *, rtx *);
rtx_insn *
gen_split_374 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_374 (i386.md:12989)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12997 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (DImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13042 */
extern rtx_insn *gen_split_375 (rtx_insn *, rtx *);
rtx_insn *
gen_split_375 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_375 (i386.md:13042)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13051 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (SImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_LSHIFTRT (SImode,
	operand1,
	operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13042 */
extern rtx_insn *gen_split_376 (rtx_insn *, rtx *);
rtx_insn *
gen_split_376 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_376 (i386.md:13042)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13051 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (SImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_ASHIFTRT (SImode,
	operand1,
	operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13146 */
extern rtx_insn *gen_split_377 (rtx_insn *, rtx *);
rtx_insn *
gen_split_377 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_377 (i386.md:13146)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13168 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_LSHIFTRT (QImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13146 */
extern rtx_insn *gen_split_378 (rtx_insn *, rtx *);
rtx_insn *
gen_split_378 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_378 (i386.md:13146)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13168 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_ASHIFTRT (QImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13146 */
extern rtx_insn *gen_split_379 (rtx_insn *, rtx *);
rtx_insn *
gen_split_379 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_379 (i386.md:13146)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13168 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_LSHIFTRT (HImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13146 */
extern rtx_insn *gen_split_380 (rtx_insn *, rtx *);
rtx_insn *
gen_split_380 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_380 (i386.md:13146)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13168 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_ASHIFTRT (HImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13311 */
rtx
gen_rotlti3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13316 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (const_1_to_63_operand (operands[2], VOIDmode))
    emit_insn (gen_ix86_rotlti3_doubleword
		(operands[0], operands[1], operands[2]));
  else
    {
      rtx amount = force_reg (QImode, operands[2]);
      rtx src_lo = gen_lowpart (DImode, operands[1]);
      rtx src_hi = gen_highpart (DImode, operands[1]);
      rtx tmp_lo = gen_reg_rtx (DImode);
      rtx tmp_hi = gen_reg_rtx (DImode);
      emit_move_insn (tmp_lo, src_lo);
      emit_move_insn (tmp_hi, src_hi);
      rtx (*shiftd) (rtx, rtx, rtx)
	    = (ROTATE == ROTATE) ? gen_x86_64_shld : gen_x86_64_shrd;
      emit_insn (shiftd (tmp_lo, src_hi, amount));
      emit_insn (shiftd (tmp_hi, src_lo, amount));
      rtx dst_lo = gen_lowpart (DImode, operands[0]);
      rtx dst_hi = gen_highpart (DImode, operands[0]);
      emit_move_insn (dst_lo, tmp_lo);
      emit_move_insn (dst_hi, tmp_hi);
      emit_insn (gen_x86_shiftdi_adj_1 (dst_lo, dst_hi, amount, tmp_lo));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATE (TImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13311 */
rtx
gen_rotrti3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13316 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (const_1_to_63_operand (operands[2], VOIDmode))
    emit_insn (gen_ix86_rotrti3_doubleword
		(operands[0], operands[1], operands[2]));
  else
    {
      rtx amount = force_reg (QImode, operands[2]);
      rtx src_lo = gen_lowpart (DImode, operands[1]);
      rtx src_hi = gen_highpart (DImode, operands[1]);
      rtx tmp_lo = gen_reg_rtx (DImode);
      rtx tmp_hi = gen_reg_rtx (DImode);
      emit_move_insn (tmp_lo, src_lo);
      emit_move_insn (tmp_hi, src_hi);
      rtx (*shiftd) (rtx, rtx, rtx)
	    = (ROTATERT == ROTATE) ? gen_x86_64_shld : gen_x86_64_shrd;
      emit_insn (shiftd (tmp_lo, src_hi, amount));
      emit_insn (shiftd (tmp_hi, src_lo, amount));
      rtx dst_lo = gen_lowpart (DImode, operands[0]);
      rtx dst_hi = gen_highpart (DImode, operands[0]);
      emit_move_insn (dst_lo, tmp_lo);
      emit_move_insn (dst_hi, tmp_hi);
      emit_insn (gen_x86_shiftdi_adj_1 (dst_lo, dst_hi, amount, tmp_lo));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (TImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13342 */
rtx
gen_rotldi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13347 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_64BIT)
    ix86_expand_binary_operator (ROTATE, DImode, operands);
  else if (const_1_to_31_operand (operands[2], VOIDmode))
    emit_insn (gen_ix86_rotldi3_doubleword
		(operands[0], operands[1], operands[2]));
  else
    FAIL;

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATE (DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13342 */
rtx
gen_rotrdi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13347 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_64BIT)
    ix86_expand_binary_operator (ROTATERT, DImode, operands);
  else if (const_1_to_31_operand (operands[2], VOIDmode))
    emit_insn (gen_ix86_rotrdi3_doubleword
		(operands[0], operands[1], operands[2]));
  else
    FAIL;

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13359 */
rtx
gen_rotlqi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13364 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (ROTATE, QImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATE (QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13359 */
rtx
gen_rotrqi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13364 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (ROTATERT, QImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13359 */
rtx
gen_rotlhi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13364 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (ROTATE, HImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATE (HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13359 */
rtx
gen_rotrhi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13364 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (ROTATERT, HImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13359 */
rtx
gen_rotlsi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13364 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (ROTATE, SImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATE (SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13359 */
rtx
gen_rotrsi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13364 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_binary_operator (ROTATERT, SImode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13367 */
extern rtx_insn *gen_split_381 (rtx_insn *, rtx *);
rtx_insn *
gen_split_381 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_381 (i386.md:13367)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13387 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (QImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ROTATE (QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13367 */
extern rtx_insn *gen_split_382 (rtx_insn *, rtx *);
rtx_insn *
gen_split_382 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_382 (i386.md:13367)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13387 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (QImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13367 */
extern rtx_insn *gen_split_383 (rtx_insn *, rtx *);
rtx_insn *
gen_split_383 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_383 (i386.md:13367)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13387 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (QImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ROTATE (HImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13367 */
extern rtx_insn *gen_split_384 (rtx_insn *, rtx *);
rtx_insn *
gen_split_384 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_384 (i386.md:13367)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13387 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (QImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (HImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13367 */
extern rtx_insn *gen_split_385 (rtx_insn *, rtx *);
rtx_insn *
gen_split_385 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_385 (i386.md:13367)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13387 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (QImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ROTATE (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13367 */
extern rtx_insn *gen_split_386 (rtx_insn *, rtx *);
rtx_insn *
gen_split_386 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_386 (i386.md:13367)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13387 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (QImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13367 */
extern rtx_insn *gen_split_387 (rtx_insn *, rtx *);
rtx_insn *
gen_split_387 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_387 (i386.md:13367)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13387 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (QImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ROTATE (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13367 */
extern rtx_insn *gen_split_388 (rtx_insn *, rtx *);
rtx_insn *
gen_split_388 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_388 (i386.md:13367)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13387 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (QImode, operands[2]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13389 */
extern rtx_insn *gen_split_389 (rtx_insn *, rtx *);
rtx_insn *
gen_split_389 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_389 (i386.md:13389)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13403 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = gen_reg_rtx (QImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATE (QImode,
	copy_rtx (operand4),
	gen_rtx_SUBREG (QImode,
	operand2,
	0))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13389 */
extern rtx_insn *gen_split_390 (rtx_insn *, rtx *);
rtx_insn *
gen_split_390 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_390 (i386.md:13389)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13403 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = gen_reg_rtx (QImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (QImode,
	copy_rtx (operand4),
	gen_rtx_SUBREG (QImode,
	operand2,
	0))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13389 */
extern rtx_insn *gen_split_391 (rtx_insn *, rtx *);
rtx_insn *
gen_split_391 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_391 (i386.md:13389)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13403 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = gen_reg_rtx (HImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATE (HImode,
	copy_rtx (operand4),
	gen_rtx_SUBREG (QImode,
	operand2,
	0))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13389 */
extern rtx_insn *gen_split_392 (rtx_insn *, rtx *);
rtx_insn *
gen_split_392 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_392 (i386.md:13389)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13403 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = gen_reg_rtx (HImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (HImode,
	copy_rtx (operand4),
	gen_rtx_SUBREG (QImode,
	operand2,
	0))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13389 */
extern rtx_insn *gen_split_393 (rtx_insn *, rtx *);
rtx_insn *
gen_split_393 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_393 (i386.md:13389)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13403 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = gen_reg_rtx (SImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATE (SImode,
	copy_rtx (operand4),
	gen_rtx_SUBREG (QImode,
	operand2,
	0))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13389 */
extern rtx_insn *gen_split_394 (rtx_insn *, rtx *);
rtx_insn *
gen_split_394 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_394 (i386.md:13389)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13403 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = gen_reg_rtx (SImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (SImode,
	copy_rtx (operand4),
	gen_rtx_SUBREG (QImode,
	operand2,
	0))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13389 */
extern rtx_insn *gen_split_395 (rtx_insn *, rtx *);
rtx_insn *
gen_split_395 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_395 (i386.md:13389)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13403 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = gen_reg_rtx (DImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATE (DImode,
	copy_rtx (operand4),
	gen_rtx_SUBREG (QImode,
	operand2,
	0))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13389 */
extern rtx_insn *gen_split_396 (rtx_insn *, rtx *);
rtx_insn *
gen_split_396 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_396 (i386.md:13389)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13403 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = gen_reg_rtx (DImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (DImode,
	copy_rtx (operand4),
	gen_rtx_SUBREG (QImode,
	operand2,
	0))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13405 */
extern rtx_insn *gen_split_397 (rtx_insn *, rtx *);
rtx_insn *
gen_split_397 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_397 (i386.md:13405)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ROTATE (QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13405 */
extern rtx_insn *gen_split_398 (rtx_insn *, rtx *);
rtx_insn *
gen_split_398 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_398 (i386.md:13405)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13405 */
extern rtx_insn *gen_split_399 (rtx_insn *, rtx *);
rtx_insn *
gen_split_399 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_399 (i386.md:13405)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ROTATE (HImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13405 */
extern rtx_insn *gen_split_400 (rtx_insn *, rtx *);
rtx_insn *
gen_split_400 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_400 (i386.md:13405)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (HImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13405 */
extern rtx_insn *gen_split_401 (rtx_insn *, rtx *);
rtx_insn *
gen_split_401 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_401 (i386.md:13405)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ROTATE (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13405 */
extern rtx_insn *gen_split_402 (rtx_insn *, rtx *);
rtx_insn *
gen_split_402 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_402 (i386.md:13405)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13405 */
extern rtx_insn *gen_split_403 (rtx_insn *, rtx *);
rtx_insn *
gen_split_403 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_403 (i386.md:13405)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ROTATE (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13405 */
extern rtx_insn *gen_split_404 (rtx_insn *, rtx *);
rtx_insn *
gen_split_404 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_404 (i386.md:13405)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13425 */
extern rtx_insn *gen_split_405 (rtx_insn *, rtx *);
rtx_insn *
gen_split_405 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_405 (i386.md:13425)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13437 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = gen_reg_rtx (QImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATE (QImode,
	copy_rtx (operand4),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13425 */
extern rtx_insn *gen_split_406 (rtx_insn *, rtx *);
rtx_insn *
gen_split_406 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_406 (i386.md:13425)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13437 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = gen_reg_rtx (QImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (QImode,
	copy_rtx (operand4),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13425 */
extern rtx_insn *gen_split_407 (rtx_insn *, rtx *);
rtx_insn *
gen_split_407 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_407 (i386.md:13425)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13437 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = gen_reg_rtx (HImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATE (HImode,
	copy_rtx (operand4),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13425 */
extern rtx_insn *gen_split_408 (rtx_insn *, rtx *);
rtx_insn *
gen_split_408 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_408 (i386.md:13425)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13437 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = gen_reg_rtx (HImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (HImode,
	copy_rtx (operand4),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13425 */
extern rtx_insn *gen_split_409 (rtx_insn *, rtx *);
rtx_insn *
gen_split_409 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_409 (i386.md:13425)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13437 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = gen_reg_rtx (SImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATE (SImode,
	copy_rtx (operand4),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13425 */
extern rtx_insn *gen_split_410 (rtx_insn *, rtx *);
rtx_insn *
gen_split_410 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_410 (i386.md:13425)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13437 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = gen_reg_rtx (SImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (SImode,
	copy_rtx (operand4),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13425 */
extern rtx_insn *gen_split_411 (rtx_insn *, rtx *);
rtx_insn *
gen_split_411 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_411 (i386.md:13425)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13437 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = gen_reg_rtx (DImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATE (DImode,
	copy_rtx (operand4),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13425 */
extern rtx_insn *gen_split_412 (rtx_insn *, rtx *);
rtx_insn *
gen_split_412 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_412 (i386.md:13425)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13437 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = gen_reg_rtx (DImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (DImode,
	copy_rtx (operand4),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13442 */
extern rtx_insn *gen_split_413 (rtx_insn *, rtx *);
rtx_insn *
gen_split_413 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_413 (i386.md:13442)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13472 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[6] = GEN_INT (GET_MODE_BITSIZE (SImode) - 1);
  operands[7] = GEN_INT (GET_MODE_BITSIZE (SImode));

  split_double_mode (DImode, &operands[0], 1, &operands[4], &operands[5]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit_insn (gen_rtx_SET (operand3,
	operand4));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand4),
	gen_rtx_IOR (SImode,
	gen_rtx_ASHIFT (SImode,
	copy_rtx (operand4),
	gen_rtx_AND (QImode,
	operand2,
	operand6)),
	gen_rtx_SUBREG (SImode,
	gen_rtx_LSHIFTRT (DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	operand5),
	gen_rtx_MINUS (QImode,
	operand7,
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand6)))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand5),
	gen_rtx_IOR (SImode,
	gen_rtx_ASHIFT (SImode,
	copy_rtx (operand5),
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand6))),
	gen_rtx_SUBREG (SImode,
	gen_rtx_LSHIFTRT (DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	copy_rtx (operand3)),
	gen_rtx_MINUS (QImode,
	copy_rtx (operand7),
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand6)))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13442 */
extern rtx_insn *gen_split_414 (rtx_insn *, rtx *);
rtx_insn *
gen_split_414 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_414 (i386.md:13442)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13472 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[6] = GEN_INT (GET_MODE_BITSIZE (DImode) - 1);
  operands[7] = GEN_INT (GET_MODE_BITSIZE (DImode));

  split_double_mode (TImode, &operands[0], 1, &operands[4], &operands[5]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit_insn (gen_rtx_SET (operand3,
	operand4));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand4),
	gen_rtx_IOR (DImode,
	gen_rtx_ASHIFT (DImode,
	copy_rtx (operand4),
	gen_rtx_AND (QImode,
	operand2,
	operand6)),
	gen_rtx_SUBREG (DImode,
	gen_rtx_LSHIFTRT (TImode,
	gen_rtx_ZERO_EXTEND (TImode,
	operand5),
	gen_rtx_MINUS (QImode,
	operand7,
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand6)))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand5),
	gen_rtx_IOR (DImode,
	gen_rtx_ASHIFT (DImode,
	copy_rtx (operand5),
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand6))),
	gen_rtx_SUBREG (DImode,
	gen_rtx_LSHIFTRT (TImode,
	gen_rtx_ZERO_EXTEND (TImode,
	copy_rtx (operand3)),
	gen_rtx_MINUS (QImode,
	copy_rtx (operand7),
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand6)))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13479 */
extern rtx_insn *gen_split_415 (rtx_insn *, rtx *);
rtx_insn *
gen_split_415 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_415 (i386.md:13479)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13509 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[6] = GEN_INT (GET_MODE_BITSIZE (SImode) - 1);
  operands[7] = GEN_INT (GET_MODE_BITSIZE (SImode));

  split_double_mode (DImode, &operands[0], 1, &operands[4], &operands[5]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit_insn (gen_rtx_SET (operand3,
	operand4));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand4),
	gen_rtx_IOR (SImode,
	gen_rtx_LSHIFTRT (SImode,
	copy_rtx (operand4),
	gen_rtx_AND (QImode,
	operand2,
	operand6)),
	gen_rtx_SUBREG (SImode,
	gen_rtx_ASHIFT (DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	operand5),
	gen_rtx_MINUS (QImode,
	operand7,
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand6)))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand5),
	gen_rtx_IOR (SImode,
	gen_rtx_LSHIFTRT (SImode,
	copy_rtx (operand5),
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand6))),
	gen_rtx_SUBREG (SImode,
	gen_rtx_ASHIFT (DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	copy_rtx (operand3)),
	gen_rtx_MINUS (QImode,
	copy_rtx (operand7),
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand6)))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13479 */
extern rtx_insn *gen_split_416 (rtx_insn *, rtx *);
rtx_insn *
gen_split_416 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_416 (i386.md:13479)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13509 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[6] = GEN_INT (GET_MODE_BITSIZE (DImode) - 1);
  operands[7] = GEN_INT (GET_MODE_BITSIZE (DImode));

  split_double_mode (TImode, &operands[0], 1, &operands[4], &operands[5]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit_insn (gen_rtx_SET (operand3,
	operand4));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand4),
	gen_rtx_IOR (DImode,
	gen_rtx_LSHIFTRT (DImode,
	copy_rtx (operand4),
	gen_rtx_AND (QImode,
	operand2,
	operand6)),
	gen_rtx_SUBREG (DImode,
	gen_rtx_ASHIFT (TImode,
	gen_rtx_ZERO_EXTEND (TImode,
	operand5),
	gen_rtx_MINUS (QImode,
	operand7,
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand6)))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand5),
	gen_rtx_IOR (DImode,
	gen_rtx_LSHIFTRT (DImode,
	copy_rtx (operand5),
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand6))),
	gen_rtx_SUBREG (DImode,
	gen_rtx_ASHIFT (TImode,
	gen_rtx_ZERO_EXTEND (TImode,
	copy_rtx (operand3)),
	gen_rtx_MINUS (QImode,
	copy_rtx (operand7),
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand6)))),
	0))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13568 */
extern rtx_insn *gen_split_417 (rtx_insn *, rtx *);
rtx_insn *
gen_split_417 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_417 (i386.md:13568)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13576 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  int bitsize = GET_MODE_BITSIZE (SImode);

  operands[2] = GEN_INT ((bitsize - INTVAL (operands[2])) % bitsize);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13568 */
extern rtx_insn *gen_split_418 (rtx_insn *, rtx *);
rtx_insn *
gen_split_418 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_418 (i386.md:13568)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13576 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  int bitsize = GET_MODE_BITSIZE (DImode);

  operands[2] = GEN_INT ((bitsize - INTVAL (operands[2])) % bitsize);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13582 */
extern rtx_insn *gen_split_419 (rtx_insn *, rtx *);
rtx_insn *
gen_split_419 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_419 (i386.md:13582)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13582 */
extern rtx_insn *gen_split_420 (rtx_insn *, rtx *);
rtx_insn *
gen_split_420 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_420 (i386.md:13582)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13639 */
extern rtx_insn *gen_split_421 (rtx_insn *, rtx *);
rtx_insn *
gen_split_421 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_421 (i386.md:13639)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13649 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  int bitsize = GET_MODE_BITSIZE (SImode);

  operands[2] = GEN_INT ((bitsize - INTVAL (operands[2])) % bitsize);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_ROTATERT (SImode,
	operand1,
	operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13655 */
extern rtx_insn *gen_split_422 (rtx_insn *, rtx *);
rtx_insn *
gen_split_422 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_422 (i386.md:13655)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_ROTATERT (SImode,
	operand1,
	operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13690 */
extern rtx_insn *gen_split_423 (rtx_insn *, rtx *);
rtx_insn *
gen_split_423 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_423 (i386.md:13690)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13712 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_ROTATE (QImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13690 */
extern rtx_insn *gen_split_424 (rtx_insn *, rtx *);
rtx_insn *
gen_split_424 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_424 (i386.md:13690)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13712 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_ROTATERT (QImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13690 */
extern rtx_insn *gen_split_425 (rtx_insn *, rtx *);
rtx_insn *
gen_split_425 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_425 (i386.md:13690)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13712 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_ROTATE (HImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13690 */
extern rtx_insn *gen_split_426 (rtx_insn *, rtx *);
rtx_insn *
gen_split_426 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_426 (i386.md:13690)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13712 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	copy_rtx (operand0)),
	gen_rtx_ROTATERT (HImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13723 */
extern rtx_insn *gen_split_427 (rtx_insn *, rtx *);
rtx_insn *
gen_split_427 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_427 (i386.md:13723)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	gen_rtx_BSWAP (HImode,
	copy_rtx (operand0))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13723 */
extern rtx_insn *gen_split_428 (rtx_insn *, rtx *);
rtx_insn *
gen_split_428 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_428 (i386.md:13723)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	gen_rtx_BSWAP (HImode,
	copy_rtx (operand0))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13756 */
extern rtx_insn *gen_split_429 (rtx_insn *, rtx *);
rtx_insn *
gen_split_429 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_429 (i386.md:13756)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13780 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[1] = gen_lowpart (QImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (SImode,
	gen_rtx_ASHIFT (SImode,
	const1_rtx,
	operand1),
	operand3)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13756 */
extern rtx_insn *gen_split_430 (rtx_insn *, rtx *);
rtx_insn *
gen_split_430 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_430 (i386.md:13756)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13780 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[1] = gen_lowpart (QImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (SImode,
	gen_rtx_ASHIFT (SImode,
	const1_rtx,
	operand1),
	operand3)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13756 */
extern rtx_insn *gen_split_431 (rtx_insn *, rtx *);
rtx_insn *
gen_split_431 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_431 (i386.md:13756)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13780 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[1] = gen_lowpart (QImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (DImode,
	gen_rtx_ASHIFT (DImode,
	const1_rtx,
	operand1),
	operand3)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13756 */
extern rtx_insn *gen_split_432 (rtx_insn *, rtx *);
rtx_insn *
gen_split_432 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_432 (i386.md:13756)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13780 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[1] = gen_lowpart (QImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (DImode,
	gen_rtx_ASHIFT (DImode,
	const1_rtx,
	operand1),
	operand3)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13782 */
extern rtx_insn *gen_split_433 (rtx_insn *, rtx *);
rtx_insn *
gen_split_433 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_433 (i386.md:13782)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (SImode,
	gen_rtx_ASHIFT (SImode,
	const1_rtx,
	operand1),
	operand3)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13782 */
extern rtx_insn *gen_split_434 (rtx_insn *, rtx *);
rtx_insn *
gen_split_434 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_434 (i386.md:13782)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (SImode,
	gen_rtx_ASHIFT (SImode,
	const1_rtx,
	operand1),
	operand3)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13782 */
extern rtx_insn *gen_split_435 (rtx_insn *, rtx *);
rtx_insn *
gen_split_435 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_435 (i386.md:13782)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (DImode,
	gen_rtx_ASHIFT (DImode,
	const1_rtx,
	operand1),
	operand3)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13782 */
extern rtx_insn *gen_split_436 (rtx_insn *, rtx *);
rtx_insn *
gen_split_436 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_436 (i386.md:13782)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (DImode,
	gen_rtx_ASHIFT (DImode,
	const1_rtx,
	operand1),
	operand3)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13821 */
extern rtx_insn *gen_split_437 (rtx_insn *, rtx *);
rtx_insn *
gen_split_437 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_437 (i386.md:13821)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13845 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[1] = gen_lowpart (QImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_ROTATE (SImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (-2)],
	operand1),
	operand3)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13821 */
extern rtx_insn *gen_split_438 (rtx_insn *, rtx *);
rtx_insn *
gen_split_438 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_438 (i386.md:13821)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13845 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[1] = gen_lowpart (QImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (DImode,
	gen_rtx_ROTATE (DImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (-2)],
	operand1),
	operand3)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13847 */
extern rtx_insn *gen_split_439 (rtx_insn *, rtx *);
rtx_insn *
gen_split_439 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_439 (i386.md:13847)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_ROTATE (SImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (-2)],
	operand1),
	operand3)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13847 */
extern rtx_insn *gen_split_440 (rtx_insn *, rtx *);
rtx_insn *
gen_split_440 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_440 (i386.md:13847)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (DImode,
	gen_rtx_ROTATE (DImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (-2)],
	operand1),
	operand3)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13871 */
extern rtx_insn *gen_split_441 (rtx_insn *, rtx *);
rtx_insn *
gen_split_441 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_441 (i386.md:13871)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13887 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = lowpart_subreg (SImode, operands[0], QImode);
  operands[1] = force_reg (QImode, operands[1]);
  operands[1] = lowpart_subreg (SImode, operands[1], QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_ROTATE (SImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (-2)],
	operand2),
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13871 */
extern rtx_insn *gen_split_442 (rtx_insn *, rtx *);
rtx_insn *
gen_split_442 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_442 (i386.md:13871)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13887 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = lowpart_subreg (SImode, operands[0], HImode);
  operands[1] = force_reg (HImode, operands[1]);
  operands[1] = lowpart_subreg (SImode, operands[1], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_ROTATE (SImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (-2)],
	operand2),
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13893 */
extern rtx_insn *gen_split_443 (rtx_insn *, rtx *);
rtx_insn *
gen_split_443 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_443 (i386.md:13893)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13910 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_reg_rtx (QImode);
  operands[5] = gen_reg_rtx (QImode);
  operands[3] = lowpart_subreg (SImode, operands[5], QImode);
  operands[4] = lowpart_subreg (SImode, operands[2], QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand2,
	operand0));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand3,
	gen_rtx_AND (SImode,
	gen_rtx_ROTATE (SImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (-2)],
	operand1),
	operand4)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	operand5));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13893 */
extern rtx_insn *gen_split_444 (rtx_insn *, rtx *);
rtx_insn *
gen_split_444 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_444 (i386.md:13893)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13910 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_reg_rtx (HImode);
  operands[5] = gen_reg_rtx (HImode);
  operands[3] = lowpart_subreg (SImode, operands[5], HImode);
  operands[4] = lowpart_subreg (SImode, operands[2], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand2,
	operand0));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand3,
	gen_rtx_AND (SImode,
	gen_rtx_ROTATE (SImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (-2)],
	operand1),
	operand4)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	operand5));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13917 */
extern rtx_insn *gen_split_445 (rtx_insn *, rtx *);
rtx_insn *
gen_split_445 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_445 (i386.md:13917)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13930 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = lowpart_subreg (SImode, operands[0], QImode);
  operands[0] = lowpart_subreg (SImode, operands[0], QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_ROTATE (SImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (-2)],
	operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13917 */
extern rtx_insn *gen_split_446 (rtx_insn *, rtx *);
rtx_insn *
gen_split_446 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_446 (i386.md:13917)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13930 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = lowpart_subreg (SImode, operands[0], HImode);
  operands[0] = lowpart_subreg (SImode, operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_ROTATE (SImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (-2)],
	operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:13986 */
extern rtx_insn *gen_peephole2_81 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_81 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_81 (i386.md:13986)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13998 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  int i = INTVAL (operands[1]);

  operands[3] = gen_int_mode (HOST_WIDE_INT_1U << i, DImode);

  if (!x86_64_immediate_operand (operands[3], DImode))
    {
      emit_move_insn (operands[2], operands[3]);
      operands[3] = operands[2];
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (DImode,
	copy_rtx (operand0),
	operand3)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14010 */
extern rtx_insn *gen_peephole2_82 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_82 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_82 (i386.md:14010)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14022 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  int i = INTVAL (operands[1]);

  operands[3] = gen_int_mode (~(HOST_WIDE_INT_1U << i), DImode);
 
  if (!x86_64_immediate_operand (operands[3], DImode))
    {
      emit_move_insn (operands[2], operands[3]);
      operands[3] = operands[2];
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (DImode,
	copy_rtx (operand0),
	operand3)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14034 */
extern rtx_insn *gen_peephole2_83 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_83 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_83 (i386.md:14034)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14047 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  int i = INTVAL (operands[1]);

  operands[3] = gen_int_mode (HOST_WIDE_INT_1U << i, DImode);

  if (!x86_64_immediate_operand (operands[3], DImode))
    {
      emit_move_insn (operands[2], operands[3]);
      operands[3] = operands[2];
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (DImode,
	copy_rtx (operand0),
	operand3)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14092 */
extern rtx_insn *gen_split_447 (rtx_insn *, rtx *);
rtx_insn *
gen_split_447 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_447 (i386.md:14092)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14123 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = shallow_copy_rtx (operands[0]);
  PUT_CODE (operands[0], reverse_condition (GET_CODE (operands[0])));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	const1_rtx,
	operand2),
	const0_rtx)));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand0), GET_MODE (operand0),
		gen_rtx_REG (CCCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14092 */
extern rtx_insn *gen_split_448 (rtx_insn *, rtx *);
rtx_insn *
gen_split_448 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_448 (i386.md:14092)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14123 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = shallow_copy_rtx (operands[0]);
  PUT_CODE (operands[0], reverse_condition (GET_CODE (operands[0])));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTRACT (DImode,
	operand1,
	const1_rtx,
	operand2),
	const0_rtx)));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand0), GET_MODE (operand0),
		gen_rtx_REG (CCCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14128 */
extern rtx_insn *gen_split_449 (rtx_insn *, rtx *);
rtx_insn *
gen_split_449 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_449 (i386.md:14128)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14155 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], QImode);
  operands[0] = shallow_copy_rtx (operands[0]);
  PUT_CODE (operands[0], reverse_condition (GET_CODE (operands[0])));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	const1_rtx,
	operand2),
	const0_rtx)));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand0), GET_MODE (operand0),
		gen_rtx_REG (CCCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14128 */
extern rtx_insn *gen_split_450 (rtx_insn *, rtx *);
rtx_insn *
gen_split_450 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_450 (i386.md:14128)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14155 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], QImode);
  operands[0] = shallow_copy_rtx (operands[0]);
  PUT_CODE (operands[0], reverse_condition (GET_CODE (operands[0])));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTRACT (DImode,
	operand1,
	const1_rtx,
	operand2),
	const0_rtx)));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand0), GET_MODE (operand0),
		gen_rtx_REG (CCCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14162 */
extern rtx_insn *gen_split_451 (rtx_insn *, rtx *);
rtx_insn *
gen_split_451 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_451 (i386.md:14162)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14192 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = shallow_copy_rtx (operands[0]);
  PUT_CODE (operands[0], reverse_condition (GET_CODE (operands[0])));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	const1_rtx,
	operand2),
	const0_rtx)));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand0), GET_MODE (operand0),
		gen_rtx_REG (CCCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand4),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14162 */
extern rtx_insn *gen_split_452 (rtx_insn *, rtx *);
rtx_insn *
gen_split_452 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_452 (i386.md:14162)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14192 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = shallow_copy_rtx (operands[0]);
  PUT_CODE (operands[0], reverse_condition (GET_CODE (operands[0])));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTRACT (DImode,
	operand1,
	const1_rtx,
	operand2),
	const0_rtx)));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand0), GET_MODE (operand0),
		gen_rtx_REG (CCCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand4),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14198 */
extern rtx_insn *gen_split_453 (rtx_insn *, rtx *);
rtx_insn *
gen_split_453 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_453 (i386.md:14198)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14220 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (GET_CODE (operands[5]) == EQ)
    std::swap (operands[3], operands[4]);
  operands[2] = lowpart_subreg (SImode, operands[2], QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	const1_rtx,
	operand2),
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (HImode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCCmode,
	17),
	const0_rtx),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14198 */
extern rtx_insn *gen_split_454 (rtx_insn *, rtx *);
rtx_insn *
gen_split_454 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_454 (i386.md:14198)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14220 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (GET_CODE (operands[5]) == EQ)
    std::swap (operands[3], operands[4]);
  operands[2] = lowpart_subreg (SImode, operands[2], QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTRACT (DImode,
	operand1,
	const1_rtx,
	operand2),
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (HImode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCCmode,
	17),
	const0_rtx),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14198 */
extern rtx_insn *gen_split_455 (rtx_insn *, rtx *);
rtx_insn *
gen_split_455 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_455 (i386.md:14198)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14220 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (GET_CODE (operands[5]) == EQ)
    std::swap (operands[3], operands[4]);
  operands[2] = lowpart_subreg (SImode, operands[2], QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	const1_rtx,
	operand2),
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCCmode,
	17),
	const0_rtx),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14198 */
extern rtx_insn *gen_split_456 (rtx_insn *, rtx *);
rtx_insn *
gen_split_456 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_456 (i386.md:14198)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14220 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (GET_CODE (operands[5]) == EQ)
    std::swap (operands[3], operands[4]);
  operands[2] = lowpart_subreg (SImode, operands[2], QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTRACT (DImode,
	operand1,
	const1_rtx,
	operand2),
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCCmode,
	17),
	const0_rtx),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14198 */
extern rtx_insn *gen_split_457 (rtx_insn *, rtx *);
rtx_insn *
gen_split_457 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_457 (i386.md:14198)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14220 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (GET_CODE (operands[5]) == EQ)
    std::swap (operands[3], operands[4]);
  operands[2] = lowpart_subreg (SImode, operands[2], QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	const1_rtx,
	operand2),
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DImode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCCmode,
	17),
	const0_rtx),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14198 */
extern rtx_insn *gen_split_458 (rtx_insn *, rtx *);
rtx_insn *
gen_split_458 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_458 (i386.md:14198)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14220 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (GET_CODE (operands[5]) == EQ)
    std::swap (operands[3], operands[4]);
  operands[2] = lowpart_subreg (SImode, operands[2], QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTRACT (DImode,
	operand1,
	const1_rtx,
	operand2),
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DImode,
	gen_rtx_EQ (VOIDmode,
	gen_rtx_REG (CCCmode,
	17),
	const0_rtx),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14227 */
extern rtx_insn *gen_split_459 (rtx_insn *, rtx *);
rtx_insn *
gen_split_459 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_459 (i386.md:14227)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14243 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	const1_rtx,
	operand2),
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_EQ (QImode,
	gen_rtx_REG (CCCmode,
	17),
	const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14227 */
extern rtx_insn *gen_split_460 (rtx_insn *, rtx *);
rtx_insn *
gen_split_460 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_460 (i386.md:14227)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14243 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTRACT (DImode,
	operand1,
	const1_rtx,
	operand2),
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_EQ (QImode,
	gen_rtx_REG (CCCmode,
	17),
	const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14248 */
extern rtx_insn *gen_split_461 (rtx_insn *, rtx *);
rtx_insn *
gen_split_461 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_461 (i386.md:14248)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14266 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	const1_rtx,
	operand2),
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NE (QImode,
	gen_rtx_REG (CCCmode,
	17),
	const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14248 */
extern rtx_insn *gen_split_462 (rtx_insn *, rtx *);
rtx_insn *
gen_split_462 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_462 (i386.md:14248)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14266 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTRACT (DImode,
	operand1,
	const1_rtx,
	operand2),
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NE (QImode,
	gen_rtx_REG (CCCmode,
	17),
	const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14270 */
extern rtx_insn *gen_split_463 (rtx_insn *, rtx *);
rtx_insn *
gen_split_463 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_463 (i386.md:14270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14288 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], QImode);
  operands[3] = gen_reg_rtx (QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	const1_rtx,
	operand2),
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_NE (QImode,
	gen_rtx_REG (CCCmode,
	17),
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (SImode,
	copy_rtx (operand3))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14270 */
extern rtx_insn *gen_split_464 (rtx_insn *, rtx *);
rtx_insn *
gen_split_464 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_464 (i386.md:14270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14288 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], QImode);
  operands[3] = gen_reg_rtx (QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_ZERO_EXTRACT (DImode,
	operand1,
	const1_rtx,
	operand2),
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_NE (QImode,
	gen_rtx_REG (CCCmode,
	17),
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	copy_rtx (operand3))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14295 */
extern rtx_insn *gen_split_465 (rtx_insn *, rtx *);
rtx_insn *
gen_split_465 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_465 (i386.md:14295)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (QImode,
	operand2,
	operand3),
	copy_rtx (operand2))));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		gen_rtx_REG (CCCmode,
	17),
		const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14295 */
extern rtx_insn *gen_split_466 (rtx_insn *, rtx *);
rtx_insn *
gen_split_466 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_466 (i386.md:14295)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (HImode,
	operand2,
	operand3),
	copy_rtx (operand2))));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		gen_rtx_REG (CCCmode,
	17),
		const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14295 */
extern rtx_insn *gen_split_467 (rtx_insn *, rtx *);
rtx_insn *
gen_split_467 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_467 (i386.md:14295)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (SImode,
	operand2,
	operand3),
	copy_rtx (operand2))));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		gen_rtx_REG (CCCmode,
	17),
		const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14295 */
extern rtx_insn *gen_split_468 (rtx_insn *, rtx *);
rtx_insn *
gen_split_468 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_468 (i386.md:14295)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (DImode,
	operand2,
	operand3),
	copy_rtx (operand2))));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		gen_rtx_REG (CCCmode,
	17),
		const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14308 */
extern rtx_insn *gen_split_469 (rtx_insn *, rtx *);
rtx_insn *
gen_split_469 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_469 (i386.md:14308)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14321 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  enum rtx_code new_code;

  operands[1] = shallow_copy_rtx (operands[1]);
  switch (GET_CODE (operands[1]))
    {
    case GTU: new_code = NE; break;
    case LEU: new_code = EQ; break;
    default: gcc_unreachable ();
    }
  PUT_CODE (operands[1], new_code);

  operands[4] = GEN_INT (exact_log2 (UINTVAL (operands[3]) + 1));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	gen_rtx_LSHIFTRT (DImode,
	operand2,
	operand4),
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		gen_rtx_REG (CCZmode,
	17),
		const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14339 */
extern rtx_insn *gen_split_470 (rtx_insn *, rtx *);
rtx_insn *
gen_split_470 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_470 (i386.md:14339)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14348 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = shallow_copy_rtx (operands[1]);
  PUT_MODE (operands[1], QImode);
  operands[2] = gen_lowpart (QImode, operands[0]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14354 */
extern rtx_insn *gen_split_471 (rtx_insn *, rtx *);
rtx_insn *
gen_split_471 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_471 (i386.md:14354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14366 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = shallow_copy_rtx (operands[1]);
  PUT_MODE (operands[1], QImode);
  operands[2] = gen_lowpart (QImode, operands[0]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (HImode,
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14354 */
extern rtx_insn *gen_split_472 (rtx_insn *, rtx *);
rtx_insn *
gen_split_472 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_472 (i386.md:14354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14366 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = shallow_copy_rtx (operands[1]);
  PUT_MODE (operands[1], QImode);
  operands[2] = gen_lowpart (QImode, operands[0]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (SImode,
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14372 */
extern rtx_insn *gen_split_473 (rtx_insn *, rtx *);
rtx_insn *
gen_split_473 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_473 (i386.md:14372)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = shallow_copy_rtx (operands[1]);
  PUT_MODE (operands[1], QImode);
  operands[2] = gen_lowpart (QImode, operands[0]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (HImode,
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14372 */
extern rtx_insn *gen_split_474 (rtx_insn *, rtx *);
rtx_insn *
gen_split_474 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_474 (i386.md:14372)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = shallow_copy_rtx (operands[1]);
  PUT_MODE (operands[1], QImode);
  operands[2] = gen_lowpart (QImode, operands[0]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (SImode,
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14414 */
extern rtx_insn *gen_split_475 (rtx_insn *, rtx *);
rtx_insn *
gen_split_475 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_475 (i386.md:14414)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = shallow_copy_rtx (operands[1]);
  PUT_MODE (operands[1], QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14426 */
extern rtx_insn *gen_split_476 (rtx_insn *, rtx *);
rtx_insn *
gen_split_476 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_476 (i386.md:14426)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14433 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = shallow_copy_rtx (operands[1]);
  PUT_MODE (operands[1], QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14438 */
extern rtx_insn *gen_split_477 (rtx_insn *, rtx *);
rtx_insn *
gen_split_477 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_477 (i386.md:14438)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14445 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = shallow_copy_rtx (operands[1]);
  PUT_MODE (operands[1], QImode);
  PUT_CODE (operands[1],
	    ix86_reverse_condition (GET_CODE (operands[1]),
				    GET_MODE (XEXP (operands[1], 0))));

  /* Make sure that (a) the CCmode we have for the flags is strong
     enough for the reversed compare or (b) we have a valid FP compare.  */
  if (! ix86_comparison_operator (operands[1], VOIDmode))
    FAIL;
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14458 */
extern rtx_insn *gen_split_478 (rtx_insn *, rtx *);
rtx_insn *
gen_split_478 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_478 (i386.md:14458)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14465 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = shallow_copy_rtx (operands[1]);
  PUT_MODE (operands[1], QImode);
  PUT_CODE (operands[1],
  	    ix86_reverse_condition (GET_CODE (operands[1]),
				    GET_MODE (XEXP (operands[1], 0))));

  /* Make sure that (a) the CCmode we have for the flags is strong
     enough for the reversed compare or (b) we have a valid FP compare.  */
  if (! ix86_comparison_operator (operands[1], VOIDmode))
    FAIL;
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14514 */
extern rtx_insn *gen_split_479 (rtx_insn *, rtx *);
rtx_insn *
gen_split_479 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_479 (i386.md:14514)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (QImode,
	operand2,
	operand3),
	copy_rtx (operand2))));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		gen_rtx_REG (CCCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand0),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14514 */
extern rtx_insn *gen_split_480 (rtx_insn *, rtx *);
rtx_insn *
gen_split_480 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_480 (i386.md:14514)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (HImode,
	operand2,
	operand3),
	copy_rtx (operand2))));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		gen_rtx_REG (CCCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand0),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14514 */
extern rtx_insn *gen_split_481 (rtx_insn *, rtx *);
rtx_insn *
gen_split_481 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_481 (i386.md:14514)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (SImode,
	operand2,
	operand3),
	copy_rtx (operand2))));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		gen_rtx_REG (CCCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand0),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14514 */
extern rtx_insn *gen_split_482 (rtx_insn *, rtx *);
rtx_insn *
gen_split_482 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_482 (i386.md:14514)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	gen_rtx_PLUS (DImode,
	operand2,
	operand3),
	copy_rtx (operand2))));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		gen_rtx_REG (CCCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand0),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14532 */
extern rtx_insn *gen_split_483 (rtx_insn *, rtx *);
rtx_insn *
gen_split_483 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_483 (i386.md:14532)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14550 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  enum rtx_code new_code;

  operands[1] = shallow_copy_rtx (operands[1]);
  switch (GET_CODE (operands[1]))
    {
    case GTU: new_code = NE; break;
    case LEU: new_code = EQ; break;
    default: gcc_unreachable ();
    }
  PUT_CODE (operands[1], new_code);

  operands[4] = GEN_INT (exact_log2 (UINTVAL (operands[3]) + 1));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	gen_rtx_LSHIFTRT (DImode,
	operand2,
	operand4),
	const0_rtx)));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		gen_rtx_REG (CCZmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand0),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14594 */
extern rtx_insn *gen_split_484 (rtx_insn *, rtx *);
rtx_insn *
gen_split_484 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_484 (i386.md:14594)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14606 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = shallow_copy_rtx (operands[0]);
  PUT_MODE (operands[0], VOIDmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	operand0,
	gen_rtx_LABEL_REF (VOIDmode,
	operand1),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14611 */
extern rtx_insn *gen_split_485 (rtx_insn *, rtx *);
rtx_insn *
gen_split_485 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_485 (i386.md:14611)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14623 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = shallow_copy_rtx (operands[0]);
  PUT_MODE (operands[0], VOIDmode);
  PUT_CODE (operands[0],
  	    ix86_reverse_condition (GET_CODE (operands[0]),
				    GET_MODE (XEXP (operands[0], 0))));

  /* Make sure that (a) the CCmode we have for the flags is strong
     enough for the reversed compare or (b) we have a valid FP compare.  */
  if (! ix86_comparison_operator (operands[0], VOIDmode))
    FAIL;
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	operand0,
	gen_rtx_LABEL_REF (VOIDmode,
	operand1),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14654 */
rtx
gen_indirect_jump (rtx operand0)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[1];
    operands[0] = operand0;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14657 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_X32 || TARGET_INDIRECT_BRANCH_REGISTER)
    operands[0] = convert_memory_address (word_mode, operands[0]);
  cfun->machine->has_local_indirect_jump = true;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
  }
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	operand0));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14674 */
rtx
gen_tablejump (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14678 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* In PIC mode, the table entries are stored GOT (32-bit) or PC (64-bit)
     relative.  Convert the relative address to an absolute address.  */
  if (flag_pic)
    {
      rtx op0, op1;
      enum rtx_code code;

      /* We can't use @GOTOFF for text labels on VxWorks;
	 see gotoff_operand.  */
      if (TARGET_64BIT || TARGET_VXWORKS_RTP)
	{
	  code = PLUS;
	  op0 = operands[0];
	  op1 = gen_rtx_LABEL_REF (Pmode, operands[1]);
	}
      else if (TARGET_MACHO || HAVE_AS_GOTOFF_IN_DATA)
	{
	  code = PLUS;
	  op0 = operands[0];
	  op1 = pic_offset_table_rtx;
	}
      else
	{
	  code = MINUS;
	  op0 = pic_offset_table_rtx;
	  op1 = operands[0];
	}

      operands[0] = expand_simple_binop (Pmode, code, op0, op1, NULL_RTX, 0,
					 OPTAB_DIRECT);
    }

  if (TARGET_X32 || TARGET_INDIRECT_BRANCH_REGISTER)
    operands[0] = convert_memory_address (word_mode, operands[0]);
  cfun->machine->has_local_indirect_jump = true;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_jump_insn (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (pc_rtx,
	operand0),
		gen_rtx_USE (VOIDmode,
	gen_rtx_LABEL_REF (VOIDmode,
	operand1)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14730 */
extern rtx_insn *gen_peephole2_84 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_84 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_84 (i386.md:14730)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14744 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[4] = gen_rtx_REG (GET_MODE (operands[0]), FLAGS_REG);
  operands[5] = gen_lowpart (QImode, operands[3]);
  ix86_expand_clear (operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand4,
	operand0));
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand5),
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14750 */
extern rtx_insn *gen_peephole2_85 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_85 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_85 (i386.md:14750)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14768 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = gen_rtx_REG (GET_MODE (operands[0]), FLAGS_REG);
  operands[6] = gen_lowpart (QImode, operands[3]);
  ix86_expand_clear (operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand5,
	operand0),
		operand4)), true);
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand6),
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14774 */
extern rtx_insn *gen_peephole2_86 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_86 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_86 (i386.md:14774)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14796 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[6] = gen_rtx_REG (GET_MODE (operands[0]), FLAGS_REG);
  operands[7] = gen_rtx_REG (GET_MODE (operands[1]), FLAGS_REG);
  operands[8] = gen_lowpart (QImode, operands[4]);
  ix86_expand_clear (operands[4]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  emit_insn (gen_rtx_SET (operand6,
	operand0));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand7,
	operand1),
		operand5)), true);
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand8),
	operand3));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14805 */
extern rtx_insn *gen_peephole2_87 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_87 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_87 (i386.md:14805)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14819 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[4] = gen_rtx_REG (GET_MODE (operands[0]), FLAGS_REG);
  operands[5] = gen_lowpart (QImode, operands[3]);
  ix86_expand_clear (operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand4,
	operand0));
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand5),
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14825 */
extern rtx_insn *gen_peephole2_88 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_88 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_88 (i386.md:14825)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14844 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = gen_rtx_REG (GET_MODE (operands[0]), FLAGS_REG);
  operands[6] = gen_lowpart (QImode, operands[3]);
  ix86_expand_clear (operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand5,
	operand0),
		operand4)), true);
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand6),
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14850 */
extern rtx_insn *gen_peephole2_89 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_89 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_89 (i386.md:14850)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14873 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[6] = gen_rtx_REG (GET_MODE (operands[0]), FLAGS_REG);
  operands[7] = gen_rtx_REG (GET_MODE (operands[1]), FLAGS_REG);
  operands[8] = gen_lowpart (QImode, operands[4]);
  ix86_expand_clear (operands[4]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  emit_insn (gen_rtx_SET (operand6,
	operand0));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand7,
	operand1),
		operand5)), true);
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand8),
	operand3));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14895 */
rtx
gen_call (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14900 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_call (NULL, operands[0], operands[1],
		    operands[2], NULL, false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_call_insn (gen_rtx_CALL (VOIDmode,
	operand0,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14906 */
rtx
gen_sibcall (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_call (NULL, operands[0], operands[1],
		    operands[2], NULL, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_call_insn (gen_rtx_CALL (VOIDmode,
	operand0,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14970 */
extern rtx_insn *gen_peephole2_90 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_90 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_90 (i386.md:14970)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_call_insn (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_CALL (VOIDmode,
	gen_rtx_MEM (QImode,
	operand1),
	operand3),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	38))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14970 */
extern rtx_insn *gen_peephole2_91 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_91 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_91 (i386.md:14970)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_call_insn (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_CALL (VOIDmode,
	gen_rtx_MEM (QImode,
	operand1),
	operand3),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	38))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14984 */
extern rtx_insn *gen_peephole2_92 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_92 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_92 (i386.md:14984)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	1));
  emit_call_insn (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_CALL (VOIDmode,
	gen_rtx_MEM (QImode,
	operand1),
	operand3),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	38))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:14984 */
extern rtx_insn *gen_peephole2_93 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_93 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_93 (i386.md:14984)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	1));
  emit_call_insn (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_CALL (VOIDmode,
	gen_rtx_MEM (QImode,
	operand1),
	operand3),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	38))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15000 */
rtx
gen_call_pop (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15007 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_call (NULL, operands[0], operands[1],
		    operands[2], operands[3], false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_call_insn (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_CALL (VOIDmode,
	operand0,
	operand1),
		gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	operand3)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15044 */
extern rtx_insn *gen_peephole2_94 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_94 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_94 (i386.md:15044)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_call_insn (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_CALL (VOIDmode,
	gen_rtx_MEM (QImode,
	operand1),
	operand3),
		gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	operand4)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	38))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15062 */
extern rtx_insn *gen_peephole2_95 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_95 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_95 (i386.md:15062)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	1));
  emit_call_insn (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_CALL (VOIDmode,
	gen_rtx_MEM (QImode,
	operand1),
	operand3),
		gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	operand4)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	38))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15084 */
extern rtx_insn *gen_peephole2_96 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_96 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_96 (i386.md:15084)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15084 */
extern rtx_insn *gen_peephole2_97 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_97 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_97 (i386.md:15084)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15095 */
rtx
gen_call_value (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15101 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_call (operands[0], operands[1], operands[2],
		    operands[3], NULL, false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_call_insn (gen_rtx_SET (operand0,
	gen_rtx_CALL (VOIDmode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand3));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15107 */
rtx
gen_sibcall_value (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15113 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_call (operands[0], operands[1], operands[2],
		    operands[3], NULL, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_call_insn (gen_rtx_SET (operand0,
	gen_rtx_CALL (VOIDmode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand3));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15178 */
extern rtx_insn *gen_peephole2_98 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_98 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_98 (i386.md:15178)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_call_insn (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand2,
	gen_rtx_CALL (VOIDmode,
	gen_rtx_MEM (QImode,
	operand1),
	operand3)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	38))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15178 */
extern rtx_insn *gen_peephole2_99 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_99 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_99 (i386.md:15178)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_call_insn (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand2,
	gen_rtx_CALL (VOIDmode,
	gen_rtx_MEM (QImode,
	operand1),
	operand3)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	38))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15194 */
extern rtx_insn *gen_peephole2_100 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_100 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_100 (i386.md:15194)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	1));
  emit_call_insn (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand2,
	gen_rtx_CALL (VOIDmode,
	gen_rtx_MEM (QImode,
	operand1),
	operand3)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	38))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15194 */
extern rtx_insn *gen_peephole2_101 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_101 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_101 (i386.md:15194)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	1));
  emit_call_insn (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand2,
	gen_rtx_CALL (VOIDmode,
	gen_rtx_MEM (QImode,
	operand1),
	operand3)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	38))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15212 */
rtx
gen_call_value_pop (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15220 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_call (operands[0], operands[1], operands[2],
		    operands[3], operands[4], false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_call_insn (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_CALL (VOIDmode,
	operand1,
	operand2)),
		gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	operand4)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15260 */
extern rtx_insn *gen_peephole2_102 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_102 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_102 (i386.md:15260)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_call_insn (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand2,
	gen_rtx_CALL (VOIDmode,
	gen_rtx_MEM (QImode,
	operand1),
	operand3)),
		gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	operand4)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	38))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15280 */
extern rtx_insn *gen_peephole2_103 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_103 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_103 (i386.md:15280)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	1));
  emit_call_insn (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand2,
	gen_rtx_CALL (VOIDmode,
	gen_rtx_MEM (QImode,
	operand1),
	operand3)),
		gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	operand4)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	38))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15304 */
rtx
gen_untyped_call (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15310 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  int i;

  /* In order to give reg-stack an easier job in validating two
     coprocessor registers as containing a possible return value,
     simply pretend the untyped call returns a complex long double
     value. 

     We can't use SSE_REGPARM_MAX here since callee is unprototyped
     and should have the default ABI.  */

  ix86_expand_call ((TARGET_FLOAT_RETURNS_IN_80387
		     ? gen_rtx_REG (XCmode, FIRST_FLOAT_REG) : NULL),
		    operands[0], const0_rtx,
		    GEN_INT ((TARGET_64BIT
			      ? (ix86_abi == SYSV_ABI
				 ? X86_64_SSE_REGPARM_MAX
				 : X86_64_MS_SSE_REGPARM_MAX)
			      : X86_32_SSE_REGPARM_MAX)
		    	     - 1),
		    NULL, false);

  for (i = 0; i < XVECLEN (operands[2], 0); i++)
    {
      rtx set = XVECEXP (operands[2], 0, i);
      emit_move_insn (SET_DEST (set), SET_SRC (set));
    }

  /* The optimizer does not know that the call sets the function value
     registers we stored in the result block.  We avoid problems by
     claiming that all hard registers are used and clobbered at this
     point.  */
  emit_insn (gen_blockage ());

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_call_insn (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_CALL (VOIDmode,
	operand0,
	const0_rtx),
		operand1,
		operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15360 */
rtx
gen_memory_blockage (void)
{
  rtx operand0;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[1];
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15364 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode));
  MEM_VOLATILE_P (operands[0]) = 1;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (BLKmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	17)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15388 */
rtx
gen_return (void)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15391 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (crtl->args.pops_args)
    {
      rtx popc = GEN_INT (crtl->args.pops_args);
      emit_jump_insn (gen_simple_return_pop_internal (popc));
      DONE;
    }
}
#undef DONE
#undef FAIL
  }
  emit_jump_insn (simple_return_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15411 */
rtx
gen_simple_return (void)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15414 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (crtl->args.pops_args)
    {
      rtx popc = GEN_INT (crtl->args.pops_args);
      emit_jump_insn (gen_simple_return_pop_internal (popc));
      DONE;
    }
}
#undef DONE
#undef FAIL
  }
  emit_jump_insn (simple_return_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15454 */
extern rtx_insn *gen_split_486 (rtx_insn *, rtx *);
rtx_insn *
gen_split_486 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_486 (i386.md:15454)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15461 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_split_simple_return_pop_internal (operands[0]); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15467 */
rtx
gen_simple_return_indirect_internal (rtx operand0)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		simple_return_rtx,
		gen_rtx_USE (VOIDmode,
	operand0)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15531 */
rtx
gen_prologue (void)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_prologue (); DONE;
#undef DONE
#undef FAIL
  }
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15536 */
rtx
gen_set_got (rtx operand0)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[1];
    operands[0] = operand0;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15542 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (flag_pic && !TARGET_VXWORKS_RTP)
    ix86_pc_thunk_call_expanded = true;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		const0_rtx),
	14)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15556 */
rtx
gen_set_got_labelled (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15563 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (flag_pic && !TARGET_VXWORKS_RTP)
    ix86_pc_thunk_call_expanded = true;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		gen_rtx_LABEL_REF (VOIDmode,
	operand1)),
	14)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15608 */
rtx
gen_epilogue (void)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15611 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_epilogue (1); DONE;
#undef DONE
#undef FAIL
  }
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15613 */
rtx
gen_sibcall_epilogue (void)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15616 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_epilogue (0); DONE;
#undef DONE
#undef FAIL
  }
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15618 */
rtx
gen_eh_return (rtx operand0)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[1];
    operands[0] = operand0;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15621 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx tmp, sa = EH_RETURN_STACKADJ_RTX, ra = operands[0];

  /* Tricky bit: we write the address of the handler to which we will
     be returning into someone else's stack frame, one word below the
     stack address we wish to restore.  */
  tmp = gen_rtx_PLUS (Pmode, arg_pointer_rtx, sa);
  tmp = plus_constant (Pmode, tmp, -UNITS_PER_WORD);
  /* Return address is always in word_mode.  */
  tmp = gen_rtx_MEM (word_mode, tmp);
  if (GET_MODE (ra) != word_mode)
    ra = convert_to_mode (word_mode, ra, 1);
  emit_move_insn (tmp, ra);

  emit_jump_insn (gen_eh_return_internal ());
  emit_barrier ();
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15640 */
extern rtx_insn *gen_split_487 (rtx_insn *, rtx *);
rtx_insn *
gen_split_487 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_487 (i386.md:15640)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15646 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_epilogue (2); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15648 */
rtx
gen_leave_si (void)
{
  rtx operand0;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[1];
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15654 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[0] = GEN_INT (4);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	6),
	operand0)),
		gen_rtx_SET (gen_rtx_REG (SImode,
	6),
	gen_rtx_MEM (SImode,
	gen_rtx_REG (SImode,
	6))),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15648 */
rtx
gen_leave_di (void)
{
  rtx operand0;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[1];
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15654 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[0] = GEN_INT (8);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (gen_rtx_REG (DImode,
	7),
	gen_rtx_PLUS (DImode,
	gen_rtx_REG (DImode,
	6),
	operand0)),
		gen_rtx_SET (gen_rtx_REG (DImode,
	6),
	gen_rtx_MEM (DImode,
	gen_rtx_REG (DImode,
	6))),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15674 */
rtx
gen_split_stack_prologue (void)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15677 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_split_stack_prologue ();
  DONE;
}
#undef DONE
#undef FAIL
  }
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15708 */
rtx
gen_split_stack_space_check (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15716 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx reg = gen_reg_rtx (Pmode);

  emit_insn (gen_sub3_insn (reg, stack_pointer_rtx, operands[0]));

  operands[2] = ix86_split_stack_guard ();
  ix86_expand_branch (GEU, reg, operands[2], operands[1]);

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_LTU (VOIDmode,
	gen_rtx_MINUS (VOIDmode,
	gen_rtx_REG (VOIDmode,
	7),
	operand0),
	operand2),
	gen_rtx_LABEL_REF (VOIDmode,
	operand1),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15729 */
rtx
gen_ffssi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"ffssi2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15742 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode flags_mode;

  if (SImode == SImode && !TARGET_CMOVE)
    {
      emit_insn (gen_ffssi2_no_cmove (operands[0], operands [1]));
      DONE;
    }

  flags_mode = TARGET_BMI ? CCCmode : CCZmode;

  operands[2] = gen_reg_rtx (SImode);
  operands[3] = gen_rtx_REG (flags_mode, FLAGS_REG);
  operands[4] = gen_rtx_COMPARE (flags_mode, operands[1], const0_rtx);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand2,
	constm1_rtx));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand3,
	operand4),
		gen_rtx_SET (operand0,
	gen_rtx_CTZ (SImode,
	operand1)))), true);
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_IF_THEN_ELSE (SImode,
	gen_rtx_EQ (VOIDmode,
	copy_rtx (operand3),
	const0_rtx),
	copy_rtx (operand2),
	copy_rtx (operand0))));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_PLUS (SImode,
	copy_rtx (operand0),
	const1_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15729 */
rtx
gen_ffsdi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"ffsdi2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15742 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode flags_mode;

  if (DImode == SImode && !TARGET_CMOVE)
    {
      emit_insn (gen_ffssi2_no_cmove (operands[0], operands [1]));
      DONE;
    }

  flags_mode = TARGET_BMI ? CCCmode : CCZmode;

  operands[2] = gen_reg_rtx (DImode);
  operands[3] = gen_rtx_REG (flags_mode, FLAGS_REG);
  operands[4] = gen_rtx_COMPARE (flags_mode, operands[1], const0_rtx);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand2,
	constm1_rtx));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand3,
	operand4),
		gen_rtx_SET (operand0,
	gen_rtx_CTZ (DImode,
	operand1)))), true);
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_IF_THEN_ELSE (DImode,
	gen_rtx_EQ (VOIDmode,
	copy_rtx (operand3),
	const0_rtx),
	copy_rtx (operand2),
	copy_rtx (operand0))));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_PLUS (DImode,
	copy_rtx (operand0),
	const1_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15758 */
extern rtx_insn *gen_split_488 (rtx_insn *, rtx *);
rtx_insn *
gen_split_488 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_488 (i386.md:15758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15776 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode flags_mode = TARGET_BMI ? CCCmode : CCZmode;

  operands[3] = gen_lowpart (QImode, operands[2]);
  operands[4] = gen_rtx_REG (flags_mode, FLAGS_REG);
  operands[5] = gen_rtx_COMPARE (flags_mode, operands[1], const0_rtx);

  ix86_expand_clear (operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	operand5),
		gen_rtx_SET (operand0,
	gen_rtx_CTZ (SImode,
	operand1)))), true);
  emit_insn (gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand3),
	gen_rtx_EQ (QImode,
	copy_rtx (operand4),
	const0_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand2,
	gen_rtx_NEG (SImode,
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_IOR (SImode,
	copy_rtx (operand0),
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_PLUS (SImode,
	copy_rtx (operand0),
	const1_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15786 */
extern rtx_insn *gen_split_489 (rtx_insn *, rtx *);
rtx_insn *
gen_split_489 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_489 (i386.md:15786)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15803 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_clear (operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	operand1,
	const0_rtx)),
		gen_rtx_SET (operand0,
	gen_rtx_CTZ (SImode,
	copy_rtx (operand1))),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	39))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15786 */
extern rtx_insn *gen_split_490 (rtx_insn *, rtx *);
rtx_insn *
gen_split_490 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_490 (i386.md:15786)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15803 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_clear (operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_COMPARE (CCCmode,
	operand1,
	const0_rtx)),
		gen_rtx_SET (operand0,
	gen_rtx_CTZ (DImode,
	copy_rtx (operand1))),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	39))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15843 */
extern rtx_insn *gen_split_491 (rtx_insn *, rtx *);
rtx_insn *
gen_split_491 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_491 (i386.md:15843)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15869 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_clear (operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_CTZ (SImode,
	operand1)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	39),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15843 */
extern rtx_insn *gen_split_492 (rtx_insn *, rtx *);
rtx_insn *
gen_split_492 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_492 (i386.md:15843)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15869 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_clear (operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_CTZ (DImode,
	operand1)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	39),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:15906 */
extern rtx_insn *gen_split_493 (rtx_insn *, rtx *);
rtx_insn *
gen_split_493 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_493 (i386.md:15906)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15924 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_clear (operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_AND (DImode,
	gen_rtx_SUBREG (DImode,
	gen_rtx_CTZ (SImode,
	operand1),
	0),
	const_int_rtx[MAX_SAVED_CONST_INT + (63)])),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	39),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16033 */
extern rtx_insn *gen_split_494 (rtx_insn *, rtx *);
rtx_insn *
gen_split_494 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_494 (i386.md:16033)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16053 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_reg_rtx (DImode);
  operands[3] = lowpart_subreg (SImode, operands[2], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	operand1,
	const0_rtx)),
		gen_rtx_SET (operand2,
	gen_rtx_MINUS (DImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (63)],
	gen_rtx_CLZ (DImode,
	copy_rtx (operand1)))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_XOR (SImode,
	operand3,
	const_int_rtx[MAX_SAVED_CONST_INT + (63)]))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16058 */
extern rtx_insn *gen_split_495 (rtx_insn *, rtx *);
rtx_insn *
gen_split_495 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_495 (i386.md:16058)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16077 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_reg_rtx (SImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	operand1,
	const0_rtx)),
		gen_rtx_SET (operand2,
	gen_rtx_MINUS (SImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (31)],
	gen_rtx_CLZ (SImode,
	copy_rtx (operand1)))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_XOR (SImode,
	copy_rtx (operand2),
	const_int_rtx[MAX_SAVED_CONST_INT + (31)]))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16082 */
extern rtx_insn *gen_split_496 (rtx_insn *, rtx *);
rtx_insn *
gen_split_496 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_496 (i386.md:16082)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16097 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3] = gen_reg_rtx (DImode);
  operands[5] = lowpart_subreg (SImode, operands[3], DImode);
  if (INTVAL (operands[2]) == 63)
    {
      emit_insn (gen_bsr_rex64_1_zext (operands[3], operands[1]));
      emit_move_insn (operands[0], operands[5]);
      DONE;
    }
  operands[4] = gen_int_mode (UINTVAL (operands[2]) - 63, SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_MINUS (DImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (63)],
	gen_rtx_CLZ (DImode,
	operand1))));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	operand5,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16109 */
extern rtx_insn *gen_split_497 (rtx_insn *, rtx *);
rtx_insn *
gen_split_497 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_497 (i386.md:16109)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16122 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (INTVAL (operands[2]) == 31)
    {
      emit_insn (gen_bsr_1 (operands[0], operands[1]));
      DONE;
    }
  operands[3] = gen_reg_rtx (SImode);
  operands[4] = gen_int_mode (UINTVAL (operands[2]) - 31, SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_MINUS (SImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (31)],
	gen_rtx_CLZ (SImode,
	operand1))));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	copy_rtx (operand3),
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16132 */
extern rtx_insn *gen_split_498 (rtx_insn *, rtx *);
rtx_insn *
gen_split_498 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_498 (i386.md:16132)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16153 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (INTVAL (operands[2]) == 63)
    {
      emit_insn (gen_bsr_rex64_1 (operands[0], operands[1]));
      DONE;
    }
  operands[3] = gen_reg_rtx (DImode);
  operands[4] = GEN_INT (UINTVAL (operands[2]) - 63);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_MINUS (DImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (63)],
	gen_rtx_CLZ (DImode,
	operand1))));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	copy_rtx (operand3),
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16163 */
extern rtx_insn *gen_split_499 (rtx_insn *, rtx *);
rtx_insn *
gen_split_499 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_499 (i386.md:16163)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16182 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (INTVAL (operands[2]) == 31)
    {
      emit_insn (gen_bsr_zext_1 (operands[0], operands[1]));
      DONE;
    }
  operands[3] = gen_reg_rtx (DImode);
  operands[4] = GEN_INT (UINTVAL (operands[2]) - 31);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_MINUS (SImode,
	const_int_rtx[MAX_SAVED_CONST_INT + (31)],
	gen_rtx_CLZ (SImode,
	operand1)))));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	copy_rtx (operand3),
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16192 */
rtx
gen_clzsi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"clzsi2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16205 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_LZCNT)
    {
      emit_insn (gen_clzsi2_lzcnt (operands[0], operands[1]));
      DONE;
    }
  operands[2] = GEN_INT (GET_MODE_BITSIZE (SImode)-1);
  operands[3] = gen_reg_rtx (SImode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	operand1,
	const0_rtx)),
		gen_rtx_SET (operand3,
	gen_rtx_MINUS (SImode,
	operand2,
	gen_rtx_CLZ (SImode,
	copy_rtx (operand1)))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (SImode,
	copy_rtx (operand3),
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16192 */
rtx
gen_clzdi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"clzdi2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16205 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_LZCNT)
    {
      emit_insn (gen_clzdi2_lzcnt (operands[0], operands[1]));
      DONE;
    }
  operands[2] = GEN_INT (GET_MODE_BITSIZE (DImode)-1);
  operands[3] = gen_reg_rtx (DImode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	operand1,
	const0_rtx)),
		gen_rtx_SET (operand3,
	gen_rtx_MINUS (DImode,
	operand2,
	gen_rtx_CLZ (DImode,
	copy_rtx (operand1)))))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (DImode,
	copy_rtx (operand3),
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16215 */
extern rtx_insn *gen_split_500 (rtx_insn *, rtx *);
rtx_insn *
gen_split_500 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_500 (i386.md:16215)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16230 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_clear (operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_CLZ (SImode,
	operand1)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	39),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16215 */
extern rtx_insn *gen_split_501 (rtx_insn *, rtx *);
rtx_insn *
gen_split_501 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_501 (i386.md:16215)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16230 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_clear (operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_CLZ (DImode,
	operand1)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	39),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16251 */
extern rtx_insn *gen_split_502 (rtx_insn *, rtx *);
rtx_insn *
gen_split_502 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_502 (i386.md:16251)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16269 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_clear (operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_AND (DImode,
	gen_rtx_SUBREG (DImode,
	gen_rtx_CLZ (SImode,
	operand1),
	0),
	const_int_rtx[MAX_SAVED_CONST_INT + (63)])),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	39),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16308 */
extern rtx_insn *gen_split_503 (rtx_insn *, rtx *);
rtx_insn *
gen_split_503 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_503 (i386.md:16308)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16323 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_clear (operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	88)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	39),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16308 */
extern rtx_insn *gen_split_504 (rtx_insn *, rtx *);
rtx_insn *
gen_split_504 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_504 (i386.md:16308)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16323 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_clear (operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	87)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	39),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16308 */
extern rtx_insn *gen_split_505 (rtx_insn *, rtx *);
rtx_insn *
gen_split_505 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_505 (i386.md:16308)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16323 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_clear (operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	88)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	39),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16308 */
extern rtx_insn *gen_split_506 (rtx_insn *, rtx *);
rtx_insn *
gen_split_506 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_506 (i386.md:16308)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16323 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_clear (operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	87)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	39),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16494 */
rtx
gen_bmi2_bzhi_si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16509 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = GEN_INT (4 * BITS_PER_UNIT);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	gen_rtx_NE (QImode,
	gen_rtx_AND (SImode,
	operand2,
	GEN_INT (255L)),
	const0_rtx),
	gen_rtx_ZERO_EXTRACT (SImode,
	operand1,
	gen_rtx_UMIN (SImode,
	gen_rtx_AND (SImode,
	copy_rtx (operand2),
	GEN_INT (255L)),
	operand3),
	const0_rtx),
	const0_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16494 */
rtx
gen_bmi2_bzhi_di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16509 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = GEN_INT (8 * BITS_PER_UNIT);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DImode,
	gen_rtx_NE (QImode,
	gen_rtx_AND (DImode,
	operand2,
	GEN_INT (255L)),
	const0_rtx),
	gen_rtx_ZERO_EXTRACT (DImode,
	operand1,
	gen_rtx_UMIN (DImode,
	gen_rtx_AND (DImode,
	copy_rtx (operand2),
	GEN_INT (255L)),
	operand3),
	const0_rtx),
	const0_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16755 */
extern rtx_insn *gen_split_507 (rtx_insn *, rtx *);
rtx_insn *
gen_split_507 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_507 (i386.md:16755)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16776 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_clear (operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (SImode,
	operand1)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	39),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16755 */
extern rtx_insn *gen_split_508 (rtx_insn *, rtx *);
rtx_insn *
gen_split_508 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_508 (i386.md:16755)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16776 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_clear (operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (DImode,
	operand1)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	39),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16803 */
extern rtx_insn *gen_split_509 (rtx_insn *, rtx *);
rtx_insn *
gen_split_509 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_509 (i386.md:16803)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16827 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_expand_clear (operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_AND (DImode,
	gen_rtx_SUBREG (DImode,
	gen_rtx_POPCOUNT (SImode,
	operand1),
	0),
	const_int_rtx[MAX_SAVED_CONST_INT + (63)])),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	39),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16857 */
extern rtx_insn *gen_split_510 (rtx_insn *, rtx *);
rtx_insn *
gen_split_510 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_510 (i386.md:16857)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16867 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx tmp = gen_reg_rtx (HImode);

  emit_insn (gen_popcounthi2 (tmp, operands[1]));
  emit_insn (gen_zero_extendhisi2 (operands[0], tmp));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16892 */
rtx
gen_bswapdi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16896 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!TARGET_MOVBE)
    operands[1] = force_reg (DImode, operands[1]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_BSWAP (DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16901 */
rtx
gen_bswapsi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16905 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_MOVBE)
    ;
  else if (TARGET_BSWAP)
    operands[1] = force_reg (SImode, operands[1]);
  else
    {
      rtx x = operands[0];

      emit_move_insn (x, operands[1]);
      emit_insn (gen_bswaphi_lowpart (gen_lowpart (HImode, x)));
      emit_insn (gen_rotlsi3 (x, x, GEN_INT (16)));
      emit_insn (gen_bswaphi_lowpart (gen_lowpart (HImode, x)));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_BSWAP (SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16946 */
rtx
gen_bswaphi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_BSWAP (HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16970 */
extern rtx_insn *gen_peephole2_104 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_104 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_104 (i386.md:16970)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ROTATE (HImode,
	copy_rtx (operand0),
	const_int_rtx[MAX_SAVED_CONST_INT + (8)])),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:16998 */
rtx
gen_paritydi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"paritydi2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17002 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx scratch = gen_reg_rtx (QImode);
  rtx hipart1 = gen_reg_rtx (SImode);
  rtx lopart1 = gen_reg_rtx (SImode);
  rtx xor1 = gen_reg_rtx (SImode);
  rtx shift2 = gen_reg_rtx (SImode);
  rtx hipart2 = gen_reg_rtx (HImode);
  rtx lopart2 = gen_reg_rtx (HImode);
  rtx xor2 = gen_reg_rtx (HImode);

  if (TARGET_64BIT)
    {
      rtx shift1 = gen_reg_rtx (DImode);
      emit_insn (gen_lshrdi3 (shift1, operands[1], GEN_INT (32)));
      emit_move_insn (hipart1, gen_lowpart (SImode, shift1));
    }
  else
    emit_move_insn (hipart1, gen_highpart (SImode, operands[1]));

  emit_move_insn (lopart1, gen_lowpart (SImode, operands[1]));
  emit_insn (gen_xorsi3 (xor1, hipart1, lopart1));

  emit_insn (gen_lshrsi3 (shift2, xor1, GEN_INT (16)));
  emit_move_insn (hipart2, gen_lowpart (HImode, shift2));
  emit_move_insn (lopart2, gen_lowpart (HImode, xor1));
  emit_insn (gen_xorhi3 (xor2, hipart2, lopart2));

  emit_insn (gen_parityhi2_cmp (xor2));

  ix86_expand_setcc (scratch, ORDERED,
		     gen_rtx_REG (CCmode, FLAGS_REG), const0_rtx);

  if (TARGET_64BIT)
    emit_insn (gen_zero_extendqidi2 (operands[0], scratch));
  else
    {
      rtx tmp = gen_reg_rtx (SImode);

      emit_insn (gen_zero_extendqisi2 (tmp, scratch));
      emit_insn (gen_zero_extendsidi2 (operands[0], tmp));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PARITY (DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17046 */
rtx
gen_paritysi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"paritysi2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17050 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx scratch = gen_reg_rtx (QImode);
  rtx shift = gen_reg_rtx (SImode);
  rtx hipart = gen_reg_rtx (HImode);
  rtx lopart = gen_reg_rtx (HImode);
  rtx tmp = gen_reg_rtx (HImode);

  emit_insn (gen_lshrsi3 (shift, operands[1], GEN_INT (16)));
  emit_move_insn (hipart, gen_lowpart (HImode, shift));
  emit_move_insn (lopart, gen_lowpart (HImode, operands[1]));
  emit_insn (gen_xorhi3 (tmp, hipart, lopart));

  emit_insn (gen_parityhi2_cmp (tmp));

  ix86_expand_setcc (scratch, ORDERED,
		     gen_rtx_REG (CCmode, FLAGS_REG), const0_rtx);

  emit_insn (gen_zero_extendqisi2 (operands[0], scratch));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PARITY (SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17071 */
rtx
gen_parityhi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"parityhi2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17075 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx scratch = gen_reg_rtx (QImode);
  rtx tmp = gen_reg_rtx (HImode);

  emit_move_insn (tmp, operands[1]);
  emit_insn (gen_parityhi2_cmp (tmp));

  ix86_expand_setcc (scratch, ORDERED,
		     gen_rtx_REG (CCmode, FLAGS_REG), const0_rtx);

  emit_insn (gen_zero_extendqihi2 (operands[0], scratch));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PARITY (HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17089 */
rtx
gen_parityqi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"parityqi2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17093 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  emit_insn (gen_parityqi2_cmp (operands[1]));

  ix86_expand_setcc (operands[0], ORDERED,
		     gen_rtx_REG (CCmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PARITY (QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17120 */
extern rtx_insn *gen_peephole2_105 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_105 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_105 (i386.md:17120)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (1,
		operand1),
	28)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17131 */
extern rtx_insn *gen_peephole2_106 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_106 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_106 (i386.md:17131)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17156 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[4] = shallow_copy_rtx (operands[4]);
  PUT_CODE (operands[4], GET_CODE (operands[4]) == EQ ? UNORDERED : ORDERED);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (1,
		operand1),
	28)));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand4), GET_MODE (operand4),
		gen_rtx_REG (CCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand5),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17162 */
extern rtx_insn *gen_peephole2_107 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_107 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[0] = peep2_find_free_register (0, 0, "Q", HImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_107 (i386.md:17162)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17191 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = shallow_copy_rtx (operands[5]);
  PUT_CODE (operands[5], GET_CODE (operands[5]) == EQ ? UNORDERED : ORDERED);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	operand2));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_UNSPEC (CCmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	28)),
		gen_rtx_CLOBBER (VOIDmode,
	copy_rtx (operand0)))), true);
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand5), GET_MODE (operand5),
		gen_rtx_REG (CCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand6),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17234 */
rtx
gen_tls_global_dynamic_32 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17246 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_tls_descriptor_calls_expanded_in_cfun = true;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (4,
		operand2,
		operand1,
		operand3,
		gen_rtx_REG (SImode,
	7)),
	20)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17311 */
rtx
gen_tls_global_dynamic_64_si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17321 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_tls_descriptor_calls_expanded_in_cfun = true;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_call_insn (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_CALL (SImode,
	gen_rtx_MEM (QImode,
	operand2),
	const0_rtx)),
		gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		gen_rtx_REG (SImode,
	7)),
	20))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17311 */
rtx
gen_tls_global_dynamic_64_di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17321 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_tls_descriptor_calls_expanded_in_cfun = true;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_call_insn (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_CALL (DImode,
	gen_rtx_MEM (QImode,
	operand2),
	const0_rtx)),
		gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		operand1,
		gen_rtx_REG (DImode,
	7)),
	20))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17351 */
rtx
gen_tls_local_dynamic_base_32 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17363 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_tls_descriptor_calls_expanded_in_cfun = true;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_REG (SImode,
	7)),
	21)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17405 */
rtx
gen_tls_local_dynamic_base_64_si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17413 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_tls_descriptor_calls_expanded_in_cfun = true;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_call_insn (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_CALL (SImode,
	gen_rtx_MEM (QImode,
	operand1),
	const0_rtx)),
		gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		gen_rtx_REG (SImode,
	7)),
	21))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17405 */
rtx
gen_tls_local_dynamic_base_64_di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17413 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
ix86_tls_descriptor_calls_expanded_in_cfun = true;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_call_insn (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_CALL (DImode,
	gen_rtx_MEM (QImode,
	operand1),
	const0_rtx)),
		gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		gen_rtx_REG (DImode,
	7)),
	21))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17418 */
extern rtx_insn *gen_split_511 (rtx_insn *, rtx *);
rtx_insn *
gen_split_511 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_511 (i386.md:17418)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (4,
		operand1,
		operand3,
		operand2,
		gen_rtx_REG (SImode,
	7)),
	20)),
		gen_rtx_CLOBBER (VOIDmode,
	operand4),
		gen_rtx_CLOBBER (VOIDmode,
	operand5),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17444 */
rtx
gen_get_thread_pointersi (rtx operand0)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[1];
    operands[0] = operand0;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17448 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* targetm is not visible in the scope of the condition.  */
  if (!targetm.have_tls)
    error ("%<__builtin_thread_pointer%> is not supported on this target");
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		const0_rtx),
	19)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17444 */
rtx
gen_get_thread_pointerdi (rtx operand0)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[1];
    operands[0] = operand0;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17448 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* targetm is not visible in the scope of the condition.  */
  if (!targetm.have_tls)
    error ("%<__builtin_thread_pointer%> is not supported on this target");
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		const0_rtx),
	19)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17454 */
extern rtx_insn *gen_split_512 (rtx_insn *, rtx *);
rtx_insn *
gen_split_512 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_512 (i386.md:17454)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17462 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  addr_space_t as = DEFAULT_TLS_SEG_REG;

  operands[1] = gen_const_mem (SImode, const0_rtx);
  set_mem_addr_space (operands[1], as);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17454 */
extern rtx_insn *gen_split_513 (rtx_insn *, rtx *);
rtx_insn *
gen_split_513 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_513 (i386.md:17454)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17462 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  addr_space_t as = DEFAULT_TLS_SEG_REG;

  operands[1] = gen_const_mem (DImode, const0_rtx);
  set_mem_addr_space (operands[1], as);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17469 */
extern rtx_insn *gen_split_514 (rtx_insn *, rtx *);
rtx_insn *
gen_split_514 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_514 (i386.md:17469)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17478 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  addr_space_t as = DEFAULT_TLS_SEG_REG;

  operands[1] = gen_const_mem (SImode, const0_rtx);
  set_mem_addr_space (operands[1], as);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17485 */
extern rtx_insn *gen_split_515 (rtx_insn *, rtx *);
rtx_insn *
gen_split_515 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_515 (i386.md:17485)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17498 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  addr_space_t as = DEFAULT_TLS_SEG_REG;

  operands[2] = gen_const_mem (SImode, const0_rtx);
  set_mem_addr_space (operands[2], as);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17485 */
extern rtx_insn *gen_split_516 (rtx_insn *, rtx *);
rtx_insn *
gen_split_516 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_516 (i386.md:17485)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17498 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  addr_space_t as = DEFAULT_TLS_SEG_REG;

  operands[2] = gen_const_mem (DImode, const0_rtx);
  set_mem_addr_space (operands[2], as);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17505 */
extern rtx_insn *gen_split_517 (rtx_insn *, rtx *);
rtx_insn *
gen_split_517 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_517 (i386.md:17505)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17519 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  addr_space_t as = DEFAULT_TLS_SEG_REG;

  operands[2] = gen_const_mem (SImode, const0_rtx);
  set_mem_addr_space (operands[2], as);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_PLUS (SImode,
	operand1,
	operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17544 */
rtx
gen_tls_dynamic_gnu2_32 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17557 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3] = can_create_pseudo_p () ? gen_reg_rtx (Pmode) : operands[0];
  ix86_tls_descriptor_calls_expanded_in_cfun = true;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_PLUS (SImode,
	operand2,
	gen_rtx_CONST (SImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	22)))));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (4,
		copy_rtx (operand1),
		copy_rtx (operand3),
		copy_rtx (operand2),
		gen_rtx_REG (SImode,
	7)),
	22)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17590 */
extern rtx_insn *gen_split_518 (rtx_insn *, rtx *);
rtx_insn *
gen_split_518 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_518 (i386.md:17590)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17606 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = can_create_pseudo_p () ? gen_reg_rtx (Pmode) : operands[0];
  emit_insn (gen_tls_dynamic_gnu2_32 (operands[5], operands[1], operands[2]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	operand5));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17611 */
rtx
gen_tls_dynamic_gnu2_64_si (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17621 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = can_create_pseudo_p () ? gen_reg_rtx (ptr_mode) : operands[0];
  ix86_tls_descriptor_calls_expanded_in_cfun = true;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	22)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		copy_rtx (operand1),
		copy_rtx (operand2),
		gen_rtx_REG (SImode,
	7)),
	22)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17611 */
rtx
gen_tls_dynamic_gnu2_64_di (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17621 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = can_create_pseudo_p () ? gen_reg_rtx (ptr_mode) : operands[0];
  ix86_tls_descriptor_calls_expanded_in_cfun = true;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	22)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		copy_rtx (operand1),
		copy_rtx (operand2),
		gen_rtx_REG (DImode,
	7)),
	22)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17650 */
extern rtx_insn *gen_split_519 (rtx_insn *, rtx *);
rtx_insn *
gen_split_519 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_519 (i386.md:17650)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17665 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[4] = can_create_pseudo_p () ? gen_reg_rtx (ptr_mode) : operands[0];
  emit_insn (gen_tls_dynamic_gnu2_64 (ptr_mode, operands[4], operands[1]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17650 */
extern rtx_insn *gen_split_520 (rtx_insn *, rtx *);
rtx_insn *
gen_split_520 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_520 (i386.md:17650)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17665 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[4] = can_create_pseudo_p () ? gen_reg_rtx (ptr_mode) : operands[0];
  emit_insn (gen_tls_dynamic_gnu2_64 (ptr_mode, operands[4], operands[1]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:17670 */
extern rtx_insn *gen_split_521 (rtx_insn *, rtx *);
rtx_insn *
gen_split_521 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_521 (i386.md:17670)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17674 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[0] = ix86_rewrite_tls_address (operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  emit (operand0, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18030 */
rtx
gen_rsqrtsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"rsqrtsf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18035 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_emit_swsqrtsf (operands[0], operands[1], SFmode, 1);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SFmode,
	gen_rtvec (1,
		operand1),
	49)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18089 */
rtx
gen_sqrtsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"sqrtsf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18095 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (SFmode == SFmode
      && TARGET_SSE && TARGET_SSE_MATH
      && TARGET_RECIP_SQRT
      && !optimize_function_for_size_p (cfun)
      && flag_finite_math_only && !flag_trapping_math
      && flag_unsafe_math_optimizations)
    {
      ix86_emit_swsqrtsf (operands[0], operands[1], SFmode, 0);
      DONE;
    }

  if (!(SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH))
    {
      rtx op0 = gen_reg_rtx (XFmode);
      rtx op1 = gen_reg_rtx (XFmode);

      emit_insn (gen_extendsfxf2 (op1, operands[1]));
      emit_insn (gen_sqrtxf2 (op0, op1));
      emit_insn (gen_truncxfsf2_i387_noop_unspec (operands[0], op0));
      DONE;
   }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SQRT (SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18089 */
rtx
gen_sqrtdf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"sqrtdf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18095 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (DFmode == SFmode
      && TARGET_SSE && TARGET_SSE_MATH
      && TARGET_RECIP_SQRT
      && !optimize_function_for_size_p (cfun)
      && flag_finite_math_only && !flag_trapping_math
      && flag_unsafe_math_optimizations)
    {
      ix86_emit_swsqrtsf (operands[0], operands[1], SFmode, 0);
      DONE;
    }

  if (!(SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH))
    {
      rtx op0 = gen_reg_rtx (XFmode);
      rtx op1 = gen_reg_rtx (XFmode);

      emit_insn (gen_extenddfxf2 (op1, operands[1]));
      emit_insn (gen_sqrtxf2 (op0, op1));
      emit_insn (gen_truncxfdf2_i387_noop_unspec (operands[0], op0));
      DONE;
   }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SQRT (DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18119 */
rtx
gen_hypotsf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"hypotsf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18128 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);
  rtx op2 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op2, operands[2]));
  emit_insn (gen_extendsfxf2 (op1, operands[1]));

  emit_insn (gen_mulxf3 (op1, op1, op1));
  emit_insn (gen_mulxf3 (op2, op2, op2));
  emit_insn (gen_addxf3 (op0, op2, op1));
  emit_insn (gen_sqrtxf2 (op0, op0));

  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18119 */
rtx
gen_hypotdf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"hypotdf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18128 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);
  rtx op2 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op2, operands[2]));
  emit_insn (gen_extenddfxf2 (op1, operands[1]));

  emit_insn (gen_mulxf3 (op1, op1, op1));
  emit_insn (gen_mulxf3 (op2, op2, op2));
  emit_insn (gen_addxf3 (op0, op2, op1));
  emit_insn (gen_sqrtxf2 (op0, op0));

  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18172 */
rtx
gen_fmodxf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"fmodxf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18178 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx_code_label *label = gen_label_rtx ();

  rtx op1 = gen_reg_rtx (XFmode);
  rtx op2 = gen_reg_rtx (XFmode);

  emit_move_insn (op2, operands[2]);
  emit_move_insn (op1, operands[1]);

  emit_label (label);
  emit_insn (gen_fpremxf4_i387 (op1, op2, op1, op2));
  ix86_emit_fp_unordered_jump (label);
  LABEL_NUSES (label) = 1;

  emit_move_insn (operands[0], op1);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18196 */
rtx
gen_fmodsf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"fmodsf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18202 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx (*gen_truncxf) (rtx, rtx);

  rtx_code_label *label = gen_label_rtx ();

  rtx op1 = gen_reg_rtx (XFmode);
  rtx op2 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op2, operands[2]));
  emit_insn (gen_extendsfxf2 (op1, operands[1]));

  emit_label (label);
  emit_insn (gen_fpremxf4_i387 (op1, op2, op1, op2));
  ix86_emit_fp_unordered_jump (label);
  LABEL_NUSES (label) = 1;

  /* Truncate the result properly for strict SSE math.  */
  if (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
      && !TARGET_MIX_SSE_I387)
    gen_truncxf = gen_truncxfsf2;
  else
    gen_truncxf = gen_truncxfsf2_i387_noop_unspec;

  emit_insn (gen_truncxf (operands[0], op1));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18196 */
rtx
gen_fmoddf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"fmoddf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18202 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx (*gen_truncxf) (rtx, rtx);

  rtx_code_label *label = gen_label_rtx ();

  rtx op1 = gen_reg_rtx (XFmode);
  rtx op2 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op2, operands[2]));
  emit_insn (gen_extenddfxf2 (op1, operands[1]));

  emit_label (label);
  emit_insn (gen_fpremxf4_i387 (op1, op2, op1, op2));
  ix86_emit_fp_unordered_jump (label);
  LABEL_NUSES (label) = 1;

  /* Truncate the result properly for strict SSE math.  */
  if (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
      && !TARGET_MIX_SSE_I387)
    gen_truncxf = gen_truncxfdf2;
  else
    gen_truncxf = gen_truncxfdf2_i387_noop_unspec;

  emit_insn (gen_truncxf (operands[0], op1));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18247 */
rtx
gen_remainderxf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"remainderxf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18253 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx_code_label *label = gen_label_rtx ();

  rtx op1 = gen_reg_rtx (XFmode);
  rtx op2 = gen_reg_rtx (XFmode);

  emit_move_insn (op2, operands[2]);
  emit_move_insn (op1, operands[1]);

  emit_label (label);
  emit_insn (gen_fprem1xf4_i387 (op1, op2, op1, op2));
  ix86_emit_fp_unordered_jump (label);
  LABEL_NUSES (label) = 1;

  emit_move_insn (operands[0], op1);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18271 */
rtx
gen_remaindersf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"remaindersf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18277 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx (*gen_truncxf) (rtx, rtx);

  rtx_code_label *label = gen_label_rtx ();

  rtx op1 = gen_reg_rtx (XFmode);
  rtx op2 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op2, operands[2]));
  emit_insn (gen_extendsfxf2 (op1, operands[1]));

  emit_label (label);

  emit_insn (gen_fprem1xf4_i387 (op1, op2, op1, op2));
  ix86_emit_fp_unordered_jump (label);
  LABEL_NUSES (label) = 1;

  /* Truncate the result properly for strict SSE math.  */
  if (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
      && !TARGET_MIX_SSE_I387)
    gen_truncxf = gen_truncxfsf2;
  else
    gen_truncxf = gen_truncxfsf2_i387_noop_unspec;

  emit_insn (gen_truncxf (operands[0], op1));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18271 */
rtx
gen_remainderdf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"remainderdf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18277 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx (*gen_truncxf) (rtx, rtx);

  rtx_code_label *label = gen_label_rtx ();

  rtx op1 = gen_reg_rtx (XFmode);
  rtx op2 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op2, operands[2]));
  emit_insn (gen_extenddfxf2 (op1, operands[1]));

  emit_label (label);

  emit_insn (gen_fprem1xf4_i387 (op1, op2, op1, op2));
  ix86_emit_fp_unordered_jump (label);
  LABEL_NUSES (label) = 1;

  /* Truncate the result properly for strict SSE math.  */
  if (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
      && !TARGET_MIX_SSE_I387)
    gen_truncxf = gen_truncxfdf2;
  else
    gen_truncxf = gen_truncxfdf2_i387_noop_unspec;

  emit_insn (gen_truncxf (operands[0], op1));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18324 */
rtx
gen_sinsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"sinsf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18332 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_sinxf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SFmode,
	gen_rtvec (1,
		operand1),
	55)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18324 */
rtx
gen_cossf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"cossf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18332 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_cosxf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SFmode,
	gen_rtvec (1,
		operand1),
	56)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18324 */
rtx
gen_sindf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"sindf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18332 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_sinxf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DFmode,
	gen_rtvec (1,
		operand1),
	55)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18324 */
rtx
gen_cosdf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"cosdf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18332 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_cosxf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DFmode,
	gen_rtvec (1,
		operand1),
	56)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18355 */
rtx
gen_sincossf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18363 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);
  rtx op2 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op2, operands[2]));
  emit_insn (gen_sincosxf3 (op0, op1, op2));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  emit_insn (gen_truncxfsf2 (operands[1], op1));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18355 */
rtx
gen_sincosdf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18363 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);
  rtx op2 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op2, operands[2]));
  emit_insn (gen_sincosxf3 (op0, op1, op2));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  emit_insn (gen_truncxfdf2 (operands[1], op1));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18388 */
rtx
gen_tanxf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"tanxf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18393 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx one = gen_reg_rtx (SFmode);
  emit_insn (gen_fptanxf4_i387 (one, operands[0], operands[1],
				CONST1_RTX (SFmode)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18400 */
rtx
gen_tansf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"tansf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18407 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_tanxf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18400 */
rtx
gen_tandf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"tandf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18407 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_tanxf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18430 */
rtx
gen_atan2sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"atan2sf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18438 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);
  rtx op2 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op2, operands[2]));
  emit_insn (gen_extendsfxf2 (op1, operands[1]));

  emit_insn (gen_atan2xf3 (op0, op1, op2));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18430 */
rtx
gen_atan2df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"atan2df3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18438 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);
  rtx op2 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op2, operands[2]));
  emit_insn (gen_extenddfxf2 (op1, operands[1]));

  emit_insn (gen_atan2xf3 (op0, op1, op2));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18451 */
rtx
gen_atanxf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"atanxf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18459 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = force_reg (XFmode, CONST1_RTX (XFmode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		operand2,
		operand1),
	57)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (XFmode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18461 */
rtx
gen_atansf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"atansf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18468 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_atanxf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18461 */
rtx
gen_atandf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"atandf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18468 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_atanxf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18478 */
rtx
gen_asinxf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"asinxf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18490 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  int i;

  for (i = 2; i < 6; i++)
    operands[i] = gen_reg_rtx (XFmode);

  emit_move_insn (operands[3], CONST1_RTX (XFmode));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_MULT (XFmode,
	operand1,
	copy_rtx (operand1))));
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_MINUS (XFmode,
	operand3,
	copy_rtx (operand2))));
  emit_insn (gen_rtx_SET (operand5,
	gen_rtx_SQRT (XFmode,
	copy_rtx (operand4))));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		copy_rtx (operand5),
		copy_rtx (operand1)),
	57)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (XFmode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18499 */
rtx
gen_asinsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"asinsf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18506 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_asinxf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18499 */
rtx
gen_asindf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"asindf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18506 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_asinxf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18516 */
rtx
gen_acosxf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"acosxf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18528 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  int i;

  for (i = 2; i < 6; i++)
    operands[i] = gen_reg_rtx (XFmode);

  emit_move_insn (operands[3], CONST1_RTX (XFmode));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_MULT (XFmode,
	operand1,
	copy_rtx (operand1))));
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_MINUS (XFmode,
	operand3,
	copy_rtx (operand2))));
  emit_insn (gen_rtx_SET (operand5,
	gen_rtx_SQRT (XFmode,
	copy_rtx (operand4))));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		copy_rtx (operand1),
		copy_rtx (operand5)),
	57)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (XFmode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18537 */
rtx
gen_acossf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"acossf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18544 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_acosxf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18537 */
rtx
gen_acosdf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"acosdf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18544 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_acosxf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18554 */
rtx
gen_sinhxf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"sinhxf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18560 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_emit_i387_sinh (operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18565 */
rtx
gen_sinhsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"sinhsf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18573 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_sinhxf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18565 */
rtx
gen_sinhdf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"sinhdf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18573 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_sinhxf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18583 */
rtx
gen_coshxf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"coshxf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18588 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_emit_i387_cosh (operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18593 */
rtx
gen_coshsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"coshsf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18600 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_coshxf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18593 */
rtx
gen_coshdf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"coshdf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18600 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_coshxf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18610 */
rtx
gen_tanhxf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"tanhxf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18615 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_emit_i387_tanh (operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18620 */
rtx
gen_tanhsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"tanhsf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18627 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_tanhxf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18620 */
rtx
gen_tanhdf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"tanhdf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18627 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_tanhxf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18637 */
rtx
gen_asinhxf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"asinhxf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18643 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_emit_i387_asinh (operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18648 */
rtx
gen_asinhsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"asinhsf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18656 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_asinhxf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18648 */
rtx
gen_asinhdf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"asinhdf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18656 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_asinhxf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18666 */
rtx
gen_acoshxf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"acoshxf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18671 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_emit_i387_acosh (operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18676 */
rtx
gen_acoshsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"acoshsf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18683 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_acoshxf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18676 */
rtx
gen_acoshdf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"acoshdf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18683 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_acoshxf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18693 */
rtx
gen_atanhxf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"atanhxf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18698 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_emit_i387_atanh (operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18703 */
rtx
gen_atanhsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"atanhsf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18710 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_atanhxf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18703 */
rtx
gen_atanhdf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"atanhdf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18710 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_atanhxf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18733 */
rtx
gen_logxf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"logxf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18740 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2]
    = force_reg (XFmode, standard_80387_constant_rtx (4)); /* fldln2 */
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	58)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (XFmode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18745 */
rtx
gen_logsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"logsf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18752 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_logxf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18745 */
rtx
gen_logdf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"logdf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18752 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_logxf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18762 */
rtx
gen_log10xf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"log10xf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18769 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2]
    = force_reg (XFmode, standard_80387_constant_rtx (3)); /* fldlg2 */
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	58)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (XFmode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18774 */
rtx
gen_log10sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"log10sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18781 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_log10xf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18774 */
rtx
gen_log10df2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"log10df2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18781 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_log10xf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18791 */
rtx
gen_log2xf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"log2xf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18798 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = force_reg (XFmode, CONST1_RTX (XFmode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	58)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (XFmode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18800 */
rtx
gen_log2sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"log2sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18807 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_log2xf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18800 */
rtx
gen_log2df2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"log2df2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18807 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_log2xf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18830 */
rtx
gen_log1pxf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"log1pxf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18835 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_emit_i387_log1p (operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18840 */
rtx
gen_log1psf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"log1psf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18847 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_log1pxf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18840 */
rtx
gen_log1pdf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"log1pdf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18847 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_log1pxf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18870 */
rtx
gen_logbxf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"logbxf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18878 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_reg_rtx (XFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand2,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		operand1),
	73)),
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		copy_rtx (operand1)),
	74)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18880 */
rtx
gen_logbsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"logbsf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18887 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_logbxf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op1));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18880 */
rtx
gen_logbdf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"logbdf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18887 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_logbxf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op1));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18897 */
rtx
gen_ilogbxf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18902 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0, op1;

  if (optimize_insn_for_size_p ())
    FAIL;

  op0 = gen_reg_rtx (XFmode);
  op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_fxtractxf3_i387 (op0, op1, operands[1]));
  emit_insn (gen_fix_truncxfsi2 (operands[0], op1));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18916 */
rtx
gen_ilogbsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18923 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0, op1, op2;

  if (optimize_insn_for_size_p ())
    FAIL;

  op0 = gen_reg_rtx (XFmode);
  op1 = gen_reg_rtx (XFmode);
  op2 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op2, operands[1]));
  emit_insn (gen_fxtractxf3_i387 (op0, op1, op2));
  emit_insn (gen_fix_truncxfsi2 (operands[0], op1));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18916 */
rtx
gen_ilogbdf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18923 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0, op1, op2;

  if (optimize_insn_for_size_p ())
    FAIL;

  op0 = gen_reg_rtx (XFmode);
  op1 = gen_reg_rtx (XFmode);
  op2 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op2, operands[1]));
  emit_insn (gen_fxtractxf3_i387 (op0, op1, op2));
  emit_insn (gen_fix_truncxfsi2 (operands[0], op1));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18965 */
rtx
gen_expNcorexf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[10];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18980 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  int i;

  for (i = 3; i < 10; i++)
    operands[i] = gen_reg_rtx (XFmode);

  emit_move_insn (operands[7], CONST1_RTX (XFmode));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
    operand7 = operands[7];
    (void) operand7;
    operand8 = operands[8];
    (void) operand8;
    operand9 = operands[9];
    (void) operand9;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_MULT (XFmode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		copy_rtx (operand3)),
	60)));
  emit_insn (gen_rtx_SET (operand5,
	gen_rtx_MINUS (XFmode,
	copy_rtx (operand3),
	copy_rtx (operand4))));
  emit_insn (gen_rtx_SET (operand6,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		copy_rtx (operand5)),
	62)));
  emit_insn (gen_rtx_SET (operand8,
	gen_rtx_PLUS (XFmode,
	copy_rtx (operand6),
	operand7)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		copy_rtx (operand8),
		copy_rtx (operand4)),
	75)),
		gen_rtx_SET (operand9,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		copy_rtx (operand8),
		copy_rtx (operand4)),
	76)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:18989 */
rtx
gen_expxf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"expxf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18994 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op2 = force_reg (XFmode, standard_80387_constant_rtx (5)); /* fldl2e */

  emit_insn (gen_expNcorexf3 (operands[0], operands[1], op2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19001 */
rtx
gen_expsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"expsf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19008 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_expxf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19001 */
rtx
gen_expdf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"expdf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19008 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_expxf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19018 */
rtx
gen_exp10xf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"exp10xf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19023 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op2 = force_reg (XFmode, standard_80387_constant_rtx (6)); /* fldl2t */

  emit_insn (gen_expNcorexf3 (operands[0], operands[1], op2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19030 */
rtx
gen_exp10sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"exp10sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19037 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_exp10xf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19030 */
rtx
gen_exp10df2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"exp10df2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19037 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_exp10xf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19047 */
rtx
gen_exp2xf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"exp2xf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19052 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op2 = force_reg (XFmode, CONST1_RTX (XFmode));

  emit_insn (gen_expNcorexf3 (operands[0], operands[1], op2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19059 */
rtx
gen_exp2sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"exp2sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19066 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_exp2xf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19059 */
rtx
gen_exp2df2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"exp2df2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19066 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_exp2xf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19076 */
rtx
gen_expm1xf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx operand10;
  rtx operand11;
  rtx operand12;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[13];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"expm1xf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19099 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  int i;

  for (i = 2; i < 13; i++)
    operands[i] = gen_reg_rtx (XFmode);

  emit_move_insn (operands[2], standard_80387_constant_rtx (5)); /* fldl2e */
  emit_move_insn (operands[9], CONST1_RTX (XFmode));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
    operand7 = operands[7];
    (void) operand7;
    operand8 = operands[8];
    (void) operand8;
    operand9 = operands[9];
    (void) operand9;
    operand10 = operands[10];
    (void) operand10;
    operand11 = operands[11];
    (void) operand11;
    operand12 = operands[12];
    (void) operand12;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_MULT (XFmode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		copy_rtx (operand3)),
	60)));
  emit_insn (gen_rtx_SET (operand5,
	gen_rtx_MINUS (XFmode,
	copy_rtx (operand3),
	copy_rtx (operand4))));
  emit_insn (gen_rtx_SET (operand6,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		copy_rtx (operand5)),
	62)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand7,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		copy_rtx (operand6),
		copy_rtx (operand4)),
	75)),
		gen_rtx_SET (operand8,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		copy_rtx (operand6),
		copy_rtx (operand4)),
	76)))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand10,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		operand9,
		copy_rtx (operand8)),
	75)),
		gen_rtx_SET (operand11,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		copy_rtx (operand9),
		copy_rtx (operand8)),
	76)))), true);
  emit_insn (gen_rtx_SET (operand12,
	gen_rtx_MINUS (XFmode,
	copy_rtx (operand10),
	copy_rtx (operand9))));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (XFmode,
	copy_rtx (operand12),
	copy_rtx (operand7))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19109 */
rtx
gen_expm1sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"expm1sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19116 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_expm1xf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19109 */
rtx
gen_expm1df2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"expm1df2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19116 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_expm1xf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19137 */
rtx
gen_ldexpxf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"ldexpxf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19143 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx tmp1 = gen_reg_rtx (XFmode);
  rtx tmp2 = gen_reg_rtx (XFmode);

  emit_insn (gen_floatsixf2 (tmp1, operands[2]));
  emit_insn (gen_fscalexf4_i387 (operands[0], tmp2,
                                 operands[1], tmp1));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19153 */
rtx
gen_ldexpsf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"ldexpsf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19162 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* Prefer avx512f version.  */
  if (TARGET_AVX512F && TARGET_SSE_MATH)
   {
     rtx op2 = gen_reg_rtx (SFmode);
     operands[1] = force_reg (SFmode, operands[1]);

     emit_insn (gen_floatsisf2 (op2, operands[2]));
     emit_insn (gen_avx512f_scalefsf2 (operands[0], operands[1], op2));
   }
  else
    {
      rtx op0 = gen_reg_rtx (XFmode);
      rtx op1 = gen_reg_rtx (XFmode);

      emit_insn (gen_extendsfxf2 (op1, operands[1]));
      emit_insn (gen_ldexpxf3 (op0, op1, operands[2]));
      emit_insn (gen_truncxfsf2 (operands[0], op0));
  }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19153 */
rtx
gen_ldexpdf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"ldexpdf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19162 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* Prefer avx512f version.  */
  if (TARGET_AVX512F && TARGET_SSE_MATH)
   {
     rtx op2 = gen_reg_rtx (DFmode);
     operands[1] = force_reg (DFmode, operands[1]);

     emit_insn (gen_floatsidf2 (op2, operands[2]));
     emit_insn (gen_avx512f_scalefdf2 (operands[0], operands[1], op2));
   }
  else
    {
      rtx op0 = gen_reg_rtx (XFmode);
      rtx op1 = gen_reg_rtx (XFmode);

      emit_insn (gen_extenddfxf2 (op1, operands[1]));
      emit_insn (gen_ldexpxf3 (op0, op1, operands[2]));
      emit_insn (gen_truncxfdf2 (operands[0], op0));
  }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19184 */
rtx
gen_scalbxf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"scalbxf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19194 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[3] = gen_reg_rtx (XFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	75)),
		gen_rtx_SET (operand3,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (2,
		copy_rtx (operand1),
		copy_rtx (operand2)),
	76)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19196 */
rtx
gen_scalbsf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"scalbsf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19204 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);
  rtx op2 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_extendsfxf2 (op2, operands[2]));
  emit_insn (gen_scalbxf3 (op0, op1, op2));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19196 */
rtx
gen_scalbdf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"scalbdf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19204 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);
  rtx op2 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_extenddfxf2 (op2, operands[2]));
  emit_insn (gen_scalbxf3 (op0, op1, op2));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19216 */
rtx
gen_significandxf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"significandxf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19224 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_reg_rtx (XFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		operand1),
	73)),
		gen_rtx_SET (operand2,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		copy_rtx (operand1)),
	74)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19226 */
rtx
gen_significandsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"significandsf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19233 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extendsfxf2 (op1, operands[1]));
  emit_insn (gen_significandxf2 (op0, op1));
  emit_insn (gen_truncxfsf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19226 */
rtx
gen_significanddf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"significanddf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19233 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx op0 = gen_reg_rtx (XFmode);
  rtx op1 = gen_reg_rtx (XFmode);

  emit_insn (gen_extenddfxf2 (op1, operands[1]));
  emit_insn (gen_significandxf2 (op0, op1));
  emit_insn (gen_truncxfdf2 (operands[0], op0));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19282 */
rtx
gen_rinthf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"rinthf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19286 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  emit_insn (gen_sse4_1_roundhf2 (operands[0],
				  operands[1],
				  GEN_INT (ROUND_MXCSR)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19293 */
rtx
gen_rintsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"rintsf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH)
    {
      if (TARGET_SSE4_1)
	emit_insn (gen_sse4_1_roundsf2
		   (operands[0], operands[1], GEN_INT (ROUND_MXCSR)));
      else
	ix86_expand_rint (operands[0], operands[1]);
    }
  else
    {
      rtx op0 = gen_reg_rtx (XFmode);
      rtx op1 = gen_reg_rtx (XFmode);

      emit_insn (gen_extendsfxf2 (op1, operands[1]));
      emit_insn (gen_rintxf2 (op0, op1));
      emit_insn (gen_truncxfsf2_i387_noop_unspec (operands[0], op0));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19293 */
rtx
gen_rintdf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"rintdf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
    {
      if (TARGET_SSE4_1)
	emit_insn (gen_sse4_1_rounddf2
		   (operands[0], operands[1], GEN_INT (ROUND_MXCSR)));
      else
	ix86_expand_rint (operands[0], operands[1]);
    }
  else
    {
      rtx op0 = gen_reg_rtx (XFmode);
      rtx op1 = gen_reg_rtx (XFmode);

      emit_insn (gen_extenddfxf2 (op1, operands[1]));
      emit_insn (gen_rintxf2 (op0, op1));
      emit_insn (gen_truncxfdf2_i387_noop_unspec (operands[0], op0));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19319 */
rtx
gen_nearbyintxf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		operand1),
	60));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19326 */
rtx
gen_nearbyinthf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"nearbyinthf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19330 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  emit_insn (gen_sse4_1_roundhf2 (operands[0],
				  operands[1],
				  GEN_INT (ROUND_MXCSR | ROUND_NO_EXC)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19337 */
rtx
gen_nearbyintsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"nearbyintsf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19345 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_SSE4_1 && TARGET_SSE_MATH)
    emit_insn (gen_sse4_1_roundsf2
	       (operands[0], operands[1], GEN_INT (ROUND_MXCSR
						   | ROUND_NO_EXC)));
  else
    {
      rtx op0 = gen_reg_rtx (XFmode);
      rtx op1 = gen_reg_rtx (XFmode);

      emit_insn (gen_extendsfxf2 (op1, operands[1]));
      emit_insn (gen_nearbyintxf2 (op0, op1));
      emit_insn (gen_truncxfsf2_i387_noop_unspec (operands[0], op0));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19337 */
rtx
gen_nearbyintdf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"nearbyintdf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19345 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_SSE4_1 && TARGET_SSE_MATH)
    emit_insn (gen_sse4_1_rounddf2
	       (operands[0], operands[1], GEN_INT (ROUND_MXCSR
						   | ROUND_NO_EXC)));
  else
    {
      rtx op0 = gen_reg_rtx (XFmode);
      rtx op1 = gen_reg_rtx (XFmode);

      emit_insn (gen_extenddfxf2 (op1, operands[1]));
      emit_insn (gen_nearbyintxf2 (op0, op1));
      emit_insn (gen_truncxfdf2_i387_noop_unspec (operands[0], op0));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19362 */
rtx
gen_roundsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"roundsf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19372 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
      && !flag_trapping_math && !flag_rounding_math)
    {
      if (TARGET_SSE4_1)
        {
	  operands[1] = force_reg (SFmode, operands[1]);
	  ix86_expand_round_sse4 (operands[0], operands[1]);
	}
      else if (TARGET_64BIT || (SFmode != DFmode))
	ix86_expand_round (operands[0], operands[1]);
      else
	ix86_expand_rounddf_32 (operands[0], operands[1]);
    }
  else
    {
      operands[1] = force_reg (SFmode, operands[1]);
      ix86_emit_i387_round (operands[0], operands[1]);
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19362 */
rtx
gen_rounddf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"rounddf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19372 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
      && !flag_trapping_math && !flag_rounding_math)
    {
      if (TARGET_SSE4_1)
        {
	  operands[1] = force_reg (DFmode, operands[1]);
	  ix86_expand_round_sse4 (operands[0], operands[1]);
	}
      else if (TARGET_64BIT || (DFmode != DFmode))
	ix86_expand_round (operands[0], operands[1]);
      else
	ix86_expand_rounddf_32 (operands[0], operands[1]);
    }
  else
    {
      operands[1] = force_reg (DFmode, operands[1]);
      ix86_emit_i387_round (operands[0], operands[1]);
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19362 */
rtx
gen_roundxf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"roundxf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19372 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH
      && !flag_trapping_math && !flag_rounding_math)
    {
      if (TARGET_SSE4_1)
        {
	  operands[1] = force_reg (XFmode, operands[1]);
	  ix86_expand_round_sse4 (operands[0], operands[1]);
	}
      else if (TARGET_64BIT || (XFmode != DFmode))
	ix86_expand_round (operands[0], operands[1]);
      else
	ix86_expand_rounddf_32 (operands[0], operands[1]);
    }
  else
    {
      operands[1] = force_reg (XFmode, operands[1]);
      ix86_emit_i387_round (operands[0], operands[1]);
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19413 */
rtx
gen_lrintsfsi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19413 */
rtx
gen_lrintsfdi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19413 */
rtx
gen_lrintdfsi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19413 */
rtx
gen_lrintdfdi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	41));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19419 */
rtx
gen_lroundsfhi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19430 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (optimize_insn_for_size_p ())
    FAIL;

  if (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
      && HImode != HImode
      && ((HImode != DImode) || TARGET_64BIT)
      && !flag_trapping_math && !flag_rounding_math)
    ix86_expand_lround (operands[0], operands[1]);
  else
    ix86_emit_i387_round (operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19419 */
rtx
gen_lrounddfhi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19430 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (optimize_insn_for_size_p ())
    FAIL;

  if (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
      && HImode != HImode
      && ((HImode != DImode) || TARGET_64BIT)
      && !flag_trapping_math && !flag_rounding_math)
    ix86_expand_lround (operands[0], operands[1]);
  else
    ix86_emit_i387_round (operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19419 */
rtx
gen_lroundxfhi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19430 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (optimize_insn_for_size_p ())
    FAIL;

  if (SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH
      && HImode != HImode
      && ((HImode != DImode) || TARGET_64BIT)
      && !flag_trapping_math && !flag_rounding_math)
    ix86_expand_lround (operands[0], operands[1]);
  else
    ix86_emit_i387_round (operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19419 */
rtx
gen_lroundsfsi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19430 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (optimize_insn_for_size_p ())
    FAIL;

  if (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
      && SImode != HImode
      && ((SImode != DImode) || TARGET_64BIT)
      && !flag_trapping_math && !flag_rounding_math)
    ix86_expand_lround (operands[0], operands[1]);
  else
    ix86_emit_i387_round (operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19419 */
rtx
gen_lrounddfsi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19430 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (optimize_insn_for_size_p ())
    FAIL;

  if (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
      && SImode != HImode
      && ((SImode != DImode) || TARGET_64BIT)
      && !flag_trapping_math && !flag_rounding_math)
    ix86_expand_lround (operands[0], operands[1]);
  else
    ix86_emit_i387_round (operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19419 */
rtx
gen_lroundxfsi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19430 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (optimize_insn_for_size_p ())
    FAIL;

  if (SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH
      && SImode != HImode
      && ((SImode != DImode) || TARGET_64BIT)
      && !flag_trapping_math && !flag_rounding_math)
    ix86_expand_lround (operands[0], operands[1]);
  else
    ix86_emit_i387_round (operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19419 */
rtx
gen_lroundsfdi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19430 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (optimize_insn_for_size_p ())
    FAIL;

  if (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
      && DImode != HImode
      && ((DImode != DImode) || TARGET_64BIT)
      && !flag_trapping_math && !flag_rounding_math)
    ix86_expand_lround (operands[0], operands[1]);
  else
    ix86_emit_i387_round (operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19419 */
rtx
gen_lrounddfdi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19430 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (optimize_insn_for_size_p ())
    FAIL;

  if (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
      && DImode != HImode
      && ((DImode != DImode) || TARGET_64BIT)
      && !flag_trapping_math && !flag_rounding_math)
    ix86_expand_lround (operands[0], operands[1]);
  else
    ix86_emit_i387_round (operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19419 */
rtx
gen_lroundxfdi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19430 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (optimize_insn_for_size_p ())
    FAIL;

  if (SSE_FLOAT_MODE_P (XFmode) && TARGET_SSE_MATH
      && DImode != HImode
      && ((DImode != DImode) || TARGET_64BIT)
      && !flag_trapping_math && !flag_rounding_math)
    ix86_expand_lround (operands[0], operands[1]);
  else
    ix86_emit_i387_round (operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19480 */
extern rtx_insn *gen_split_522 (rtx_insn *, rtx *);
rtx_insn *
gen_split_522 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_522 (i386.md:19480)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19491 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_optimize_mode_switching[I387_ROUNDEVEN] = 1;

  operands[2] = assign_386_stack_local (HImode, SLOT_CW_STORED);
  operands[3] = assign_386_stack_local (HImode, SLOT_CW_ROUNDEVEN);

  emit_insn (gen_frndintxf2_roundeven_i387 (operands[0], operands[1],
					     operands[2], operands[3]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19480 */
extern rtx_insn *gen_split_523 (rtx_insn *, rtx *);
rtx_insn *
gen_split_523 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_523 (i386.md:19480)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19491 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_optimize_mode_switching[I387_FLOOR] = 1;

  operands[2] = assign_386_stack_local (HImode, SLOT_CW_STORED);
  operands[3] = assign_386_stack_local (HImode, SLOT_CW_FLOOR);

  emit_insn (gen_frndintxf2_floor_i387 (operands[0], operands[1],
					     operands[2], operands[3]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19480 */
extern rtx_insn *gen_split_524 (rtx_insn *, rtx *);
rtx_insn *
gen_split_524 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_524 (i386.md:19480)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19491 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_optimize_mode_switching[I387_CEIL] = 1;

  operands[2] = assign_386_stack_local (HImode, SLOT_CW_STORED);
  operands[3] = assign_386_stack_local (HImode, SLOT_CW_CEIL);

  emit_insn (gen_frndintxf2_ceil_i387 (operands[0], operands[1],
					     operands[2], operands[3]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19480 */
extern rtx_insn *gen_split_525 (rtx_insn *, rtx *);
rtx_insn *
gen_split_525 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_525 (i386.md:19480)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19491 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_optimize_mode_switching[I387_TRUNC] = 1;

  operands[2] = assign_386_stack_local (HImode, SLOT_CW_STORED);
  operands[3] = assign_386_stack_local (HImode, SLOT_CW_TRUNC);

  emit_insn (gen_frndintxf2_trunc_i387 (operands[0], operands[1],
					     operands[2], operands[3]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19518 */
rtx
gen_roundevenxf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		operand1),
	65)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19518 */
rtx
gen_floorxf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		operand1),
	66)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19518 */
rtx
gen_ceilxf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		operand1),
	67)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19518 */
rtx
gen_btruncxf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (XFmode,
	gen_rtvec (1,
		operand1),
	68)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19526 */
rtx
gen_roundevenhf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"roundevenhf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19532 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  emit_insn (gen_sse4_1_roundhf2 (operands[0], operands[1],
				  GEN_INT (ROUND_ROUNDEVEN | ROUND_NO_EXC)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HFmode,
	gen_rtvec (1,
		operand1),
	65)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19526 */
rtx
gen_floorhf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"floorhf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19532 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  emit_insn (gen_sse4_1_roundhf2 (operands[0], operands[1],
				  GEN_INT (ROUND_FLOOR | ROUND_NO_EXC)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HFmode,
	gen_rtvec (1,
		operand1),
	66)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19526 */
rtx
gen_ceilhf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"ceilhf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19532 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  emit_insn (gen_sse4_1_roundhf2 (operands[0], operands[1],
				  GEN_INT (ROUND_CEIL | ROUND_NO_EXC)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HFmode,
	gen_rtvec (1,
		operand1),
	67)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19526 */
rtx
gen_btrunchf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"btrunchf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19532 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  emit_insn (gen_sse4_1_roundhf2 (operands[0], operands[1],
				  GEN_INT (ROUND_TRUNC | ROUND_NO_EXC)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HFmode,
	gen_rtvec (1,
		operand1),
	68)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19538 */
rtx
gen_roundevensf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"roundevensf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19551 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
      && (TARGET_SSE4_1
	  || (ROUND_ROUNDEVEN != ROUND_ROUNDEVEN
	      && (flag_fp_int_builtin_inexact || !flag_trapping_math))))
    {
      if (TARGET_SSE4_1)
	emit_insn (gen_sse4_1_roundsf2
		   (operands[0], operands[1],
		    GEN_INT (ROUND_ROUNDEVEN | ROUND_NO_EXC)));
      else if (TARGET_64BIT || (SFmode != DFmode))
	{
	  if (ROUND_ROUNDEVEN == ROUND_FLOOR)
	    ix86_expand_floorceil (operands[0], operands[1], true);
	  else if (ROUND_ROUNDEVEN == ROUND_CEIL)
	    ix86_expand_floorceil (operands[0], operands[1], false);
	  else if (ROUND_ROUNDEVEN == ROUND_TRUNC)
	    ix86_expand_trunc (operands[0], operands[1]);
	  else
	    gcc_unreachable ();
	}
      else
	{
	  if (ROUND_ROUNDEVEN == ROUND_FLOOR)
	    ix86_expand_floorceildf_32 (operands[0], operands[1], true);
	  else if (ROUND_ROUNDEVEN == ROUND_CEIL)
	    ix86_expand_floorceildf_32 (operands[0], operands[1], false);
	  else if (ROUND_ROUNDEVEN == ROUND_TRUNC)
	    ix86_expand_truncdf_32 (operands[0], operands[1]);
	  else
	    gcc_unreachable ();
	}
    }
  else
    {
      rtx op0 = gen_reg_rtx (XFmode);
      rtx op1 = gen_reg_rtx (XFmode);

      emit_insn (gen_extendsfxf2 (op1, operands[1]));
      emit_insn (gen_frndintxf2_roundeven (op0, op1));
      emit_insn (gen_truncxfsf2_i387_noop_unspec (operands[0], op0));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SFmode,
	gen_rtvec (1,
		operand1),
	65)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19538 */
rtx
gen_floorsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"floorsf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19551 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
      && (TARGET_SSE4_1
	  || (ROUND_FLOOR != ROUND_ROUNDEVEN
	      && (flag_fp_int_builtin_inexact || !flag_trapping_math))))
    {
      if (TARGET_SSE4_1)
	emit_insn (gen_sse4_1_roundsf2
		   (operands[0], operands[1],
		    GEN_INT (ROUND_FLOOR | ROUND_NO_EXC)));
      else if (TARGET_64BIT || (SFmode != DFmode))
	{
	  if (ROUND_FLOOR == ROUND_FLOOR)
	    ix86_expand_floorceil (operands[0], operands[1], true);
	  else if (ROUND_FLOOR == ROUND_CEIL)
	    ix86_expand_floorceil (operands[0], operands[1], false);
	  else if (ROUND_FLOOR == ROUND_TRUNC)
	    ix86_expand_trunc (operands[0], operands[1]);
	  else
	    gcc_unreachable ();
	}
      else
	{
	  if (ROUND_FLOOR == ROUND_FLOOR)
	    ix86_expand_floorceildf_32 (operands[0], operands[1], true);
	  else if (ROUND_FLOOR == ROUND_CEIL)
	    ix86_expand_floorceildf_32 (operands[0], operands[1], false);
	  else if (ROUND_FLOOR == ROUND_TRUNC)
	    ix86_expand_truncdf_32 (operands[0], operands[1]);
	  else
	    gcc_unreachable ();
	}
    }
  else
    {
      rtx op0 = gen_reg_rtx (XFmode);
      rtx op1 = gen_reg_rtx (XFmode);

      emit_insn (gen_extendsfxf2 (op1, operands[1]));
      emit_insn (gen_frndintxf2_floor (op0, op1));
      emit_insn (gen_truncxfsf2_i387_noop_unspec (operands[0], op0));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SFmode,
	gen_rtvec (1,
		operand1),
	66)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19538 */
rtx
gen_ceilsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"ceilsf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19551 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
      && (TARGET_SSE4_1
	  || (ROUND_CEIL != ROUND_ROUNDEVEN
	      && (flag_fp_int_builtin_inexact || !flag_trapping_math))))
    {
      if (TARGET_SSE4_1)
	emit_insn (gen_sse4_1_roundsf2
		   (operands[0], operands[1],
		    GEN_INT (ROUND_CEIL | ROUND_NO_EXC)));
      else if (TARGET_64BIT || (SFmode != DFmode))
	{
	  if (ROUND_CEIL == ROUND_FLOOR)
	    ix86_expand_floorceil (operands[0], operands[1], true);
	  else if (ROUND_CEIL == ROUND_CEIL)
	    ix86_expand_floorceil (operands[0], operands[1], false);
	  else if (ROUND_CEIL == ROUND_TRUNC)
	    ix86_expand_trunc (operands[0], operands[1]);
	  else
	    gcc_unreachable ();
	}
      else
	{
	  if (ROUND_CEIL == ROUND_FLOOR)
	    ix86_expand_floorceildf_32 (operands[0], operands[1], true);
	  else if (ROUND_CEIL == ROUND_CEIL)
	    ix86_expand_floorceildf_32 (operands[0], operands[1], false);
	  else if (ROUND_CEIL == ROUND_TRUNC)
	    ix86_expand_truncdf_32 (operands[0], operands[1]);
	  else
	    gcc_unreachable ();
	}
    }
  else
    {
      rtx op0 = gen_reg_rtx (XFmode);
      rtx op1 = gen_reg_rtx (XFmode);

      emit_insn (gen_extendsfxf2 (op1, operands[1]));
      emit_insn (gen_frndintxf2_ceil (op0, op1));
      emit_insn (gen_truncxfsf2_i387_noop_unspec (operands[0], op0));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SFmode,
	gen_rtvec (1,
		operand1),
	67)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19538 */
rtx
gen_btruncsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"btruncsf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19551 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (SSE_FLOAT_MODE_P (SFmode) && TARGET_SSE_MATH
      && (TARGET_SSE4_1
	  || (ROUND_TRUNC != ROUND_ROUNDEVEN
	      && (flag_fp_int_builtin_inexact || !flag_trapping_math))))
    {
      if (TARGET_SSE4_1)
	emit_insn (gen_sse4_1_roundsf2
		   (operands[0], operands[1],
		    GEN_INT (ROUND_TRUNC | ROUND_NO_EXC)));
      else if (TARGET_64BIT || (SFmode != DFmode))
	{
	  if (ROUND_TRUNC == ROUND_FLOOR)
	    ix86_expand_floorceil (operands[0], operands[1], true);
	  else if (ROUND_TRUNC == ROUND_CEIL)
	    ix86_expand_floorceil (operands[0], operands[1], false);
	  else if (ROUND_TRUNC == ROUND_TRUNC)
	    ix86_expand_trunc (operands[0], operands[1]);
	  else
	    gcc_unreachable ();
	}
      else
	{
	  if (ROUND_TRUNC == ROUND_FLOOR)
	    ix86_expand_floorceildf_32 (operands[0], operands[1], true);
	  else if (ROUND_TRUNC == ROUND_CEIL)
	    ix86_expand_floorceildf_32 (operands[0], operands[1], false);
	  else if (ROUND_TRUNC == ROUND_TRUNC)
	    ix86_expand_truncdf_32 (operands[0], operands[1]);
	  else
	    gcc_unreachable ();
	}
    }
  else
    {
      rtx op0 = gen_reg_rtx (XFmode);
      rtx op1 = gen_reg_rtx (XFmode);

      emit_insn (gen_extendsfxf2 (op1, operands[1]));
      emit_insn (gen_frndintxf2_trunc (op0, op1));
      emit_insn (gen_truncxfsf2_i387_noop_unspec (operands[0], op0));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SFmode,
	gen_rtvec (1,
		operand1),
	68)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19538 */
rtx
gen_roundevendf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"roundevendf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19551 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
      && (TARGET_SSE4_1
	  || (ROUND_ROUNDEVEN != ROUND_ROUNDEVEN
	      && (flag_fp_int_builtin_inexact || !flag_trapping_math))))
    {
      if (TARGET_SSE4_1)
	emit_insn (gen_sse4_1_rounddf2
		   (operands[0], operands[1],
		    GEN_INT (ROUND_ROUNDEVEN | ROUND_NO_EXC)));
      else if (TARGET_64BIT || (DFmode != DFmode))
	{
	  if (ROUND_ROUNDEVEN == ROUND_FLOOR)
	    ix86_expand_floorceil (operands[0], operands[1], true);
	  else if (ROUND_ROUNDEVEN == ROUND_CEIL)
	    ix86_expand_floorceil (operands[0], operands[1], false);
	  else if (ROUND_ROUNDEVEN == ROUND_TRUNC)
	    ix86_expand_trunc (operands[0], operands[1]);
	  else
	    gcc_unreachable ();
	}
      else
	{
	  if (ROUND_ROUNDEVEN == ROUND_FLOOR)
	    ix86_expand_floorceildf_32 (operands[0], operands[1], true);
	  else if (ROUND_ROUNDEVEN == ROUND_CEIL)
	    ix86_expand_floorceildf_32 (operands[0], operands[1], false);
	  else if (ROUND_ROUNDEVEN == ROUND_TRUNC)
	    ix86_expand_truncdf_32 (operands[0], operands[1]);
	  else
	    gcc_unreachable ();
	}
    }
  else
    {
      rtx op0 = gen_reg_rtx (XFmode);
      rtx op1 = gen_reg_rtx (XFmode);

      emit_insn (gen_extenddfxf2 (op1, operands[1]));
      emit_insn (gen_frndintxf2_roundeven (op0, op1));
      emit_insn (gen_truncxfdf2_i387_noop_unspec (operands[0], op0));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DFmode,
	gen_rtvec (1,
		operand1),
	65)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19538 */
rtx
gen_floordf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"floordf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19551 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
      && (TARGET_SSE4_1
	  || (ROUND_FLOOR != ROUND_ROUNDEVEN
	      && (flag_fp_int_builtin_inexact || !flag_trapping_math))))
    {
      if (TARGET_SSE4_1)
	emit_insn (gen_sse4_1_rounddf2
		   (operands[0], operands[1],
		    GEN_INT (ROUND_FLOOR | ROUND_NO_EXC)));
      else if (TARGET_64BIT || (DFmode != DFmode))
	{
	  if (ROUND_FLOOR == ROUND_FLOOR)
	    ix86_expand_floorceil (operands[0], operands[1], true);
	  else if (ROUND_FLOOR == ROUND_CEIL)
	    ix86_expand_floorceil (operands[0], operands[1], false);
	  else if (ROUND_FLOOR == ROUND_TRUNC)
	    ix86_expand_trunc (operands[0], operands[1]);
	  else
	    gcc_unreachable ();
	}
      else
	{
	  if (ROUND_FLOOR == ROUND_FLOOR)
	    ix86_expand_floorceildf_32 (operands[0], operands[1], true);
	  else if (ROUND_FLOOR == ROUND_CEIL)
	    ix86_expand_floorceildf_32 (operands[0], operands[1], false);
	  else if (ROUND_FLOOR == ROUND_TRUNC)
	    ix86_expand_truncdf_32 (operands[0], operands[1]);
	  else
	    gcc_unreachable ();
	}
    }
  else
    {
      rtx op0 = gen_reg_rtx (XFmode);
      rtx op1 = gen_reg_rtx (XFmode);

      emit_insn (gen_extenddfxf2 (op1, operands[1]));
      emit_insn (gen_frndintxf2_floor (op0, op1));
      emit_insn (gen_truncxfdf2_i387_noop_unspec (operands[0], op0));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DFmode,
	gen_rtvec (1,
		operand1),
	66)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19538 */
rtx
gen_ceildf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"ceildf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19551 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
      && (TARGET_SSE4_1
	  || (ROUND_CEIL != ROUND_ROUNDEVEN
	      && (flag_fp_int_builtin_inexact || !flag_trapping_math))))
    {
      if (TARGET_SSE4_1)
	emit_insn (gen_sse4_1_rounddf2
		   (operands[0], operands[1],
		    GEN_INT (ROUND_CEIL | ROUND_NO_EXC)));
      else if (TARGET_64BIT || (DFmode != DFmode))
	{
	  if (ROUND_CEIL == ROUND_FLOOR)
	    ix86_expand_floorceil (operands[0], operands[1], true);
	  else if (ROUND_CEIL == ROUND_CEIL)
	    ix86_expand_floorceil (operands[0], operands[1], false);
	  else if (ROUND_CEIL == ROUND_TRUNC)
	    ix86_expand_trunc (operands[0], operands[1]);
	  else
	    gcc_unreachable ();
	}
      else
	{
	  if (ROUND_CEIL == ROUND_FLOOR)
	    ix86_expand_floorceildf_32 (operands[0], operands[1], true);
	  else if (ROUND_CEIL == ROUND_CEIL)
	    ix86_expand_floorceildf_32 (operands[0], operands[1], false);
	  else if (ROUND_CEIL == ROUND_TRUNC)
	    ix86_expand_truncdf_32 (operands[0], operands[1]);
	  else
	    gcc_unreachable ();
	}
    }
  else
    {
      rtx op0 = gen_reg_rtx (XFmode);
      rtx op1 = gen_reg_rtx (XFmode);

      emit_insn (gen_extenddfxf2 (op1, operands[1]));
      emit_insn (gen_frndintxf2_ceil (op0, op1));
      emit_insn (gen_truncxfdf2_i387_noop_unspec (operands[0], op0));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DFmode,
	gen_rtvec (1,
		operand1),
	67)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19538 */
rtx
gen_btruncdf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"btruncdf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19551 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH
      && (TARGET_SSE4_1
	  || (ROUND_TRUNC != ROUND_ROUNDEVEN
	      && (flag_fp_int_builtin_inexact || !flag_trapping_math))))
    {
      if (TARGET_SSE4_1)
	emit_insn (gen_sse4_1_rounddf2
		   (operands[0], operands[1],
		    GEN_INT (ROUND_TRUNC | ROUND_NO_EXC)));
      else if (TARGET_64BIT || (DFmode != DFmode))
	{
	  if (ROUND_TRUNC == ROUND_FLOOR)
	    ix86_expand_floorceil (operands[0], operands[1], true);
	  else if (ROUND_TRUNC == ROUND_CEIL)
	    ix86_expand_floorceil (operands[0], operands[1], false);
	  else if (ROUND_TRUNC == ROUND_TRUNC)
	    ix86_expand_trunc (operands[0], operands[1]);
	  else
	    gcc_unreachable ();
	}
      else
	{
	  if (ROUND_TRUNC == ROUND_FLOOR)
	    ix86_expand_floorceildf_32 (operands[0], operands[1], true);
	  else if (ROUND_TRUNC == ROUND_CEIL)
	    ix86_expand_floorceildf_32 (operands[0], operands[1], false);
	  else if (ROUND_TRUNC == ROUND_TRUNC)
	    ix86_expand_truncdf_32 (operands[0], operands[1]);
	  else
	    gcc_unreachable ();
	}
    }
  else
    {
      rtx op0 = gen_reg_rtx (XFmode);
      rtx op1 = gen_reg_rtx (XFmode);

      emit_insn (gen_extenddfxf2 (op1, operands[1]));
      emit_insn (gen_frndintxf2_trunc (op0, op1));
      emit_insn (gen_truncxfdf2_i387_noop_unspec (operands[0], op0));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DFmode,
	gen_rtvec (1,
		operand1),
	68)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19597 */
extern rtx_insn *gen_split_526 (rtx_insn *, rtx *);
rtx_insn *
gen_split_526 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_526 (i386.md:19597)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19608 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_optimize_mode_switching[I387_FLOOR] = 1;

  operands[2] = assign_386_stack_local (HImode, SLOT_CW_STORED);
  operands[3] = assign_386_stack_local (HImode, SLOT_CW_FLOOR);

  emit_insn (gen_fisthi2_floor (operands[0], operands[1],
					 operands[2], operands[3]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19597 */
extern rtx_insn *gen_split_527 (rtx_insn *, rtx *);
rtx_insn *
gen_split_527 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_527 (i386.md:19597)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19608 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_optimize_mode_switching[I387_CEIL] = 1;

  operands[2] = assign_386_stack_local (HImode, SLOT_CW_STORED);
  operands[3] = assign_386_stack_local (HImode, SLOT_CW_CEIL);

  emit_insn (gen_fisthi2_ceil (operands[0], operands[1],
					 operands[2], operands[3]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19597 */
extern rtx_insn *gen_split_528 (rtx_insn *, rtx *);
rtx_insn *
gen_split_528 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_528 (i386.md:19597)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19608 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_optimize_mode_switching[I387_FLOOR] = 1;

  operands[2] = assign_386_stack_local (HImode, SLOT_CW_STORED);
  operands[3] = assign_386_stack_local (HImode, SLOT_CW_FLOOR);

  emit_insn (gen_fistsi2_floor (operands[0], operands[1],
					 operands[2], operands[3]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19597 */
extern rtx_insn *gen_split_529 (rtx_insn *, rtx *);
rtx_insn *
gen_split_529 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_529 (i386.md:19597)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19608 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_optimize_mode_switching[I387_CEIL] = 1;

  operands[2] = assign_386_stack_local (HImode, SLOT_CW_STORED);
  operands[3] = assign_386_stack_local (HImode, SLOT_CW_CEIL);

  emit_insn (gen_fistsi2_ceil (operands[0], operands[1],
					 operands[2], operands[3]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19597 */
extern rtx_insn *gen_split_530 (rtx_insn *, rtx *);
rtx_insn *
gen_split_530 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_530 (i386.md:19597)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19608 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_optimize_mode_switching[I387_FLOOR] = 1;

  operands[2] = assign_386_stack_local (HImode, SLOT_CW_STORED);
  operands[3] = assign_386_stack_local (HImode, SLOT_CW_FLOOR);

  emit_insn (gen_fistdi2_floor (operands[0], operands[1],
					 operands[2], operands[3]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19597 */
extern rtx_insn *gen_split_531 (rtx_insn *, rtx *);
rtx_insn *
gen_split_531 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_531 (i386.md:19597)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19608 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_optimize_mode_switching[I387_CEIL] = 1;

  operands[2] = assign_386_stack_local (HImode, SLOT_CW_STORED);
  operands[3] = assign_386_stack_local (HImode, SLOT_CW_CEIL);

  emit_insn (gen_fistdi2_ceil (operands[0], operands[1],
					 operands[2], operands[3]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19649 */
rtx
gen_lfloorxfhi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (1,
		operand1),
	69)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19649 */
rtx
gen_lceilxfhi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (1,
		operand1),
	70)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19649 */
rtx
gen_lfloorxfsi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	69)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19649 */
rtx
gen_lceilxfsi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	70)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19649 */
rtx
gen_lfloorxfdi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	69)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19649 */
rtx
gen_lceilxfdi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	70)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19658 */
rtx
gen_lfloorsfsi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19665 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_SSE4_1)
    {
      rtx tmp = gen_reg_rtx (SFmode);

      emit_insn (gen_sse4_1_roundsf2
		 (tmp, operands[1], GEN_INT (ROUND_FLOOR
					     | ROUND_NO_EXC)));
      emit_insn (gen_fix_truncsfsi2
		 (operands[0], tmp));
    }
  else if (ROUND_FLOOR == ROUND_FLOOR)
    ix86_expand_lfloorceil (operands[0], operands[1], true);
  else if (ROUND_FLOOR == ROUND_CEIL)
    ix86_expand_lfloorceil (operands[0], operands[1], false);
  else
    gcc_unreachable ();

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	69)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19658 */
rtx
gen_lceilsfsi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19665 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_SSE4_1)
    {
      rtx tmp = gen_reg_rtx (SFmode);

      emit_insn (gen_sse4_1_roundsf2
		 (tmp, operands[1], GEN_INT (ROUND_CEIL
					     | ROUND_NO_EXC)));
      emit_insn (gen_fix_truncsfsi2
		 (operands[0], tmp));
    }
  else if (ROUND_CEIL == ROUND_FLOOR)
    ix86_expand_lfloorceil (operands[0], operands[1], true);
  else if (ROUND_CEIL == ROUND_CEIL)
    ix86_expand_lfloorceil (operands[0], operands[1], false);
  else
    gcc_unreachable ();

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	70)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19658 */
rtx
gen_lfloorsfdi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19665 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_SSE4_1)
    {
      rtx tmp = gen_reg_rtx (SFmode);

      emit_insn (gen_sse4_1_roundsf2
		 (tmp, operands[1], GEN_INT (ROUND_FLOOR
					     | ROUND_NO_EXC)));
      emit_insn (gen_fix_truncsfdi2
		 (operands[0], tmp));
    }
  else if (ROUND_FLOOR == ROUND_FLOOR)
    ix86_expand_lfloorceil (operands[0], operands[1], true);
  else if (ROUND_FLOOR == ROUND_CEIL)
    ix86_expand_lfloorceil (operands[0], operands[1], false);
  else
    gcc_unreachable ();

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	69)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19658 */
rtx
gen_lceilsfdi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19665 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_SSE4_1)
    {
      rtx tmp = gen_reg_rtx (SFmode);

      emit_insn (gen_sse4_1_roundsf2
		 (tmp, operands[1], GEN_INT (ROUND_CEIL
					     | ROUND_NO_EXC)));
      emit_insn (gen_fix_truncsfdi2
		 (operands[0], tmp));
    }
  else if (ROUND_CEIL == ROUND_FLOOR)
    ix86_expand_lfloorceil (operands[0], operands[1], true);
  else if (ROUND_CEIL == ROUND_CEIL)
    ix86_expand_lfloorceil (operands[0], operands[1], false);
  else
    gcc_unreachable ();

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	70)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19658 */
rtx
gen_lfloordfsi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19665 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_SSE4_1)
    {
      rtx tmp = gen_reg_rtx (DFmode);

      emit_insn (gen_sse4_1_rounddf2
		 (tmp, operands[1], GEN_INT (ROUND_FLOOR
					     | ROUND_NO_EXC)));
      emit_insn (gen_fix_truncdfsi2
		 (operands[0], tmp));
    }
  else if (ROUND_FLOOR == ROUND_FLOOR)
    ix86_expand_lfloorceil (operands[0], operands[1], true);
  else if (ROUND_FLOOR == ROUND_CEIL)
    ix86_expand_lfloorceil (operands[0], operands[1], false);
  else
    gcc_unreachable ();

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	69)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19658 */
rtx
gen_lceildfsi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19665 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_SSE4_1)
    {
      rtx tmp = gen_reg_rtx (DFmode);

      emit_insn (gen_sse4_1_rounddf2
		 (tmp, operands[1], GEN_INT (ROUND_CEIL
					     | ROUND_NO_EXC)));
      emit_insn (gen_fix_truncdfsi2
		 (operands[0], tmp));
    }
  else if (ROUND_CEIL == ROUND_FLOOR)
    ix86_expand_lfloorceil (operands[0], operands[1], true);
  else if (ROUND_CEIL == ROUND_CEIL)
    ix86_expand_lfloorceil (operands[0], operands[1], false);
  else
    gcc_unreachable ();

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	70)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19658 */
rtx
gen_lfloordfdi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19665 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_SSE4_1)
    {
      rtx tmp = gen_reg_rtx (DFmode);

      emit_insn (gen_sse4_1_rounddf2
		 (tmp, operands[1], GEN_INT (ROUND_FLOOR
					     | ROUND_NO_EXC)));
      emit_insn (gen_fix_truncdfdi2
		 (operands[0], tmp));
    }
  else if (ROUND_FLOOR == ROUND_FLOOR)
    ix86_expand_lfloorceil (operands[0], operands[1], true);
  else if (ROUND_FLOOR == ROUND_CEIL)
    ix86_expand_lfloorceil (operands[0], operands[1], false);
  else
    gcc_unreachable ();

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	69)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19658 */
rtx
gen_lceildfdi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19665 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_SSE4_1)
    {
      rtx tmp = gen_reg_rtx (DFmode);

      emit_insn (gen_sse4_1_rounddf2
		 (tmp, operands[1], GEN_INT (ROUND_CEIL
					     | ROUND_NO_EXC)));
      emit_insn (gen_fix_truncdfdi2
		 (operands[0], tmp));
    }
  else if (ROUND_CEIL == ROUND_FLOOR)
    ix86_expand_lfloorceil (operands[0], operands[1], true);
  else if (ROUND_CEIL == ROUND_CEIL)
    ix86_expand_lfloorceil (operands[0], operands[1], false);
  else
    gcc_unreachable ();

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	70)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19698 */
rtx
gen_signbittf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"signbittf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19702 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_SSE4_1)
    {
      rtx mask = ix86_build_signbit_mask (TFmode, 0, 0);
      rtx scratch = gen_reg_rtx (QImode);

      emit_insn (gen_ptesttf2 (operands[1], mask));
	ix86_expand_setcc (scratch, NE,
			   gen_rtx_REG (CCZmode, FLAGS_REG), const0_rtx);

      emit_insn (gen_zero_extendqisi2 (operands[0], scratch));
    }
  else
    {
      emit_insn (gen_sse_movmskps (operands[0],
				   gen_lowpart (V4SFmode, operands[1])));
      emit_insn (gen_andsi3 (operands[0], operands[0], GEN_INT (0x8)));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19723 */
rtx
gen_signbitxf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"signbitxf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19727 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx scratch = gen_reg_rtx (HImode);

  emit_insn (gen_fxamxf2_i387 (scratch, operands[1]));
  emit_insn (gen_andsi3 (operands[0],
	     gen_lowpart (SImode, scratch), GEN_INT (0x200)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19749 */
rtx
gen_signbitdf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"signbitdf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19754 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (SSE_FLOAT_MODE_P (DFmode) && TARGET_SSE_MATH)
    {
      emit_insn (gen_movmsk_df (operands[0], operands[1]));
      emit_insn (gen_andsi3 (operands[0], operands[0], const1_rtx));
    }
  else
    {
      rtx scratch = gen_reg_rtx (HImode);

      emit_insn (gen_fxamdf2_i387 (scratch, operands[1]));
      emit_insn (gen_andsi3 (operands[0],
		 gen_lowpart (SImode, scratch), GEN_INT (0x200)));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19771 */
rtx
gen_signbitsf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"signbitsf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19776 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx scratch = gen_reg_rtx (HImode);

  emit_insn (gen_fxamsf2_i387 (scratch, operands[1]));
  emit_insn (gen_andsi3 (operands[0],
	     gen_lowpart (SImode, scratch), GEN_INT (0x200)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19795 */
rtx
gen_cpymemsi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5,
	rtx operand6,
	rtx operand7,
	rtx operand8)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[9];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
    operands[6] = operand6;
    operands[7] = operand7;
    operands[8] = operand8;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19806 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
 if (ix86_expand_set_or_cpymem (operands[0], operands[1],
			        operands[2], NULL, operands[3],
			        operands[4], operands[5],
				operands[6], operands[7],
				operands[8], false))
   DONE;
 else
   FAIL;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
    operand7 = operands[7];
    (void) operand7;
    operand8 = operands[8];
    (void) operand8;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand3));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand4));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand5));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand6));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand7));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand8));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19795 */
rtx
gen_cpymemdi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5,
	rtx operand6,
	rtx operand7,
	rtx operand8)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[9];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
    operands[6] = operand6;
    operands[7] = operand7;
    operands[8] = operand8;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19806 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
 if (ix86_expand_set_or_cpymem (operands[0], operands[1],
			        operands[2], NULL, operands[3],
			        operands[4], operands[5],
				operands[6], operands[7],
				operands[8], false))
   DONE;
 else
   FAIL;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
    operand7 = operands[7];
    (void) operand7;
    operand8 = operands[8];
    (void) operand8;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand3));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand4));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand5));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand6));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand7));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand8));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19820 */
rtx
gen_strmov (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19828 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* Can't use this for non-default address spaces.  */
  if (!ADDR_SPACE_GENERIC_P (MEM_ADDR_SPACE (operands[3])))
    FAIL;

  int piece_size = GET_MODE_SIZE (GET_MODE (operands[1]));

  /* If .md ever supports :P for Pmode, these can be directly
     in the pattern above.  */
  operands[5] = plus_constant (Pmode, operands[0], piece_size);
  operands[6] = plus_constant (Pmode, operands[2], piece_size);

  /* Can't use this if the user has appropriated esi or edi.  */
  if ((TARGET_SINGLE_STRINGOP || optimize_insn_for_size_p ())
      && !(fixed_regs[SI_REG] || fixed_regs[DI_REG]))
    {
      emit_insn (gen_strmov_singleop (operands[0], operands[1],
				      operands[2], operands[3],
				      operands[5], operands[6]));
      DONE;
    }

  operands[4] = gen_reg_rtx (GET_MODE (operands[1]));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit_insn (gen_rtx_SET (operand4,
	operand3));
  emit_insn (gen_rtx_SET (operand1,
	copy_rtx (operand4)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	operand5),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand2,
	operand6),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19853 */
rtx
gen_strmov_singleop (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19861 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_CLD)
    ix86_optimize_mode_switching[X86_DIRFLAG] = 1;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand1,
	operand3),
		gen_rtx_SET (operand0,
	operand4),
		gen_rtx_SET (operand2,
	operand5))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:19936 */
rtx
gen_rep_mov (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5,
	rtx operand6)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
    operands[6] = operand6;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19946 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_CLD)
    ix86_optimize_mode_switching[X86_DIRFLAG] = 1;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (5,
		gen_rtx_SET (operand4,
	const0_rtx),
		gen_rtx_SET (operand0,
	operand5),
		gen_rtx_SET (operand2,
	operand6),
		gen_rtx_SET (operand1,
	operand3),
		gen_rtx_USE (VOIDmode,
	copy_rtx (operand4)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20010 */
rtx
gen_setmemsi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5,
	rtx operand6,
	rtx operand7,
	rtx operand8)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[9];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
    operands[6] = operand6;
    operands[7] = operand7;
    operands[8] = operand8;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20021 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
 if (ix86_expand_set_or_cpymem (operands[0], NULL,
			        operands[1], operands[2],
				operands[3], operands[4],
			        operands[5], operands[6],
				operands[7], operands[8], true))
   DONE;
 else
   FAIL;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
    operand7 = operands[7];
    (void) operand7;
    operand8 = operands[8];
    (void) operand8;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand3));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand4));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand5));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand6));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand7));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand8));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20010 */
rtx
gen_setmemdi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5,
	rtx operand6,
	rtx operand7,
	rtx operand8)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[9];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
    operands[6] = operand6;
    operands[7] = operand7;
    operands[8] = operand8;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20021 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
 if (ix86_expand_set_or_cpymem (operands[0], NULL,
			        operands[1], operands[2],
				operands[3], operands[4],
			        operands[5], operands[6],
				operands[7], operands[8], true))
   DONE;
 else
   FAIL;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
    operand7 = operands[7];
    (void) operand7;
    operand8 = operands[8];
    (void) operand8;
  }
  emit_insn (gen_rtx_USE (VOIDmode,
	operand0));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand1));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand2));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand3));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand4));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand5));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand6));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand7));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand8));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20035 */
rtx
gen_strset (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20042 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  /* Can't use this for non-default address spaces.  */
  if (!ADDR_SPACE_GENERIC_P (MEM_ADDR_SPACE (operands[1])))
    FAIL;

  if (GET_MODE (operands[1]) != GET_MODE (operands[2]))
    operands[1] = adjust_address_nv (operands[1], GET_MODE (operands[2]), 0);

  /* If .md ever supports :P for Pmode, this can be directly
     in the pattern above.  */
  operands[3] = plus_constant (Pmode, operands[0],
			       GET_MODE_SIZE (GET_MODE (operands[2])));

  /* Can't use this if the user has appropriated eax or edi.  */
  if ((TARGET_SINGLE_STRINGOP || optimize_insn_for_size_p ())
      && !(fixed_regs[AX_REG] || fixed_regs[DI_REG]))
    {
      emit_insn (gen_strset_singleop (operands[0], operands[1], operands[2],
				      operands[3]));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand1,
	operand2));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	operand3),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20065 */
rtx
gen_strset_singleop (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20072 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_CLD)
    ix86_optimize_mode_switching[X86_DIRFLAG] = 1;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand1,
	operand2),
		gen_rtx_SET (operand0,
	operand3),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	37))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20139 */
rtx
gen_rep_stos (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20147 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_CLD)
    ix86_optimize_mode_switching[X86_DIRFLAG] = 1;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (5,
		gen_rtx_SET (operand1,
	const0_rtx),
		gen_rtx_SET (operand0,
	operand4),
		gen_rtx_SET (operand2,
	const0_rtx),
		gen_rtx_USE (VOIDmode,
	operand3),
		gen_rtx_USE (VOIDmode,
	copy_rtx (operand1)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20211 */
rtx
gen_cmpmemsi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20218 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (ix86_expand_cmpstrn_or_cmpmem (operands[0], operands[1],
				     operands[2], operands[3],
				     operands[4], false))
    DONE;
  else
    FAIL;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_COMPARE (SImode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand3));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20227 */
rtx
gen_cmpstrnsi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20234 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (ix86_expand_cmpstrn_or_cmpmem (operands[0], operands[1],
				     operands[2], operands[3],
				     operands[4], true))
    DONE;
  else
    FAIL;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_COMPARE (SImode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand3));
  emit_insn (gen_rtx_USE (VOIDmode,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20245 */
rtx
gen_cmpintqi (rtx operand0)
{
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20255 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = gen_reg_rtx (QImode);
  operands[2] = gen_reg_rtx (QImode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand1,
	gen_rtx_GTU (QImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_LTU (QImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MINUS (QImode,
	copy_rtx (operand1),
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20263 */
rtx
gen_cmpstrnqi_nz_1 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20273 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_CLD)
    ix86_optimize_mode_switching[X86_DIRFLAG] = 1;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (6,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand4,
	operand5)),
		gen_rtx_USE (VOIDmode,
	operand2),
		gen_rtx_USE (VOIDmode,
	operand3),
		gen_rtx_CLOBBER (VOIDmode,
	operand0),
		gen_rtx_CLOBBER (VOIDmode,
	operand1),
		gen_rtx_CLOBBER (VOIDmode,
	copy_rtx (operand2)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20301 */
rtx
gen_cmpstrnqi_1 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20314 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_CLD)
    ix86_optimize_mode_switching[X86_DIRFLAG] = 1;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (6,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_IF_THEN_ELSE (CCmode,
	gen_rtx_NE (VOIDmode,
	operand2,
	const0_rtx),
	gen_rtx_COMPARE (CCmode,
	operand4,
	operand5),
	const0_rtx)),
		gen_rtx_USE (VOIDmode,
	operand3),
		gen_rtx_USE (VOIDmode,
	gen_rtx_REG (CCmode,
	17)),
		gen_rtx_CLOBBER (VOIDmode,
	operand0),
		gen_rtx_CLOBBER (VOIDmode,
	operand1),
		gen_rtx_CLOBBER (VOIDmode,
	copy_rtx (operand2)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20343 */
rtx
gen_strlensi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20350 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
 if (ix86_expand_strlen (operands[0], operands[1], operands[2], operands[3]))
   DONE;
 else
   FAIL;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	24)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20343 */
rtx
gen_strlendi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20350 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
 if (ix86_expand_strlen (operands[0], operands[1], operands[2], operands[3]))
   DONE;
 else
   FAIL;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	24)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20357 */
rtx
gen_strlenqi_1 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20363 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (TARGET_CLD)
    ix86_optimize_mode_switching[X86_DIRFLAG] = 1;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	operand2),
		gen_rtx_CLOBBER (VOIDmode,
	operand1),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20402 */
extern rtx_insn *gen_peephole2_108 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_108 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_108 (i386.md:20402)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (6,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	gen_rtx_MEM (BLKmode,
	operand4),
	gen_rtx_MEM (BLKmode,
	operand5))),
		gen_rtx_USE (VOIDmode,
	operand6),
		gen_rtx_USE (VOIDmode,
	operand3),
		gen_rtx_CLOBBER (VOIDmode,
	operand0),
		gen_rtx_CLOBBER (VOIDmode,
	operand1),
		gen_rtx_CLOBBER (VOIDmode,
	operand2))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20431 */
extern rtx_insn *gen_peephole2_109 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_109 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_109 (i386.md:20431)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (6,
		gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_IF_THEN_ELSE (CCmode,
	gen_rtx_NE (VOIDmode,
	operand6,
	const0_rtx),
	gen_rtx_COMPARE (CCmode,
	gen_rtx_MEM (BLKmode,
	operand4),
	gen_rtx_MEM (BLKmode,
	operand5)),
	const0_rtx)),
		gen_rtx_USE (VOIDmode,
	operand3),
		gen_rtx_USE (VOIDmode,
	gen_rtx_REG (CCmode,
	17)),
		gen_rtx_CLOBBER (VOIDmode,
	operand0),
		gen_rtx_CLOBBER (VOIDmode,
	operand1),
		gen_rtx_CLOBBER (VOIDmode,
	operand2))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20467 */
rtx
gen_movqicc (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20473 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
if (ix86_expand_int_movcc (operands)) DONE; else FAIL;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (QImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20467 */
rtx
gen_movhicc (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20473 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
if (ix86_expand_int_movcc (operands)) DONE; else FAIL;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (HImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20467 */
rtx
gen_movsicc (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20473 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
if (ix86_expand_int_movcc (operands)) DONE; else FAIL;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20467 */
rtx
gen_movdicc (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20473 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
if (ix86_expand_int_movcc (operands)) DONE; else FAIL;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20479 */
rtx
gen_x86_movsicc_0_m1 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	gen_rtx_fmt_ee (GET_CODE (operand2), SImode,
		operand1,
		const0_rtx),
	constm1_rtx,
	const0_rtx)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20479 */
rtx
gen_x86_movdicc_0_m1 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DImode,
	gen_rtx_fmt_ee (GET_CODE (operand2), DImode,
		operand1,
		const0_rtx),
	constm1_rtx,
	const0_rtx)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20533 */
extern rtx_insn *gen_split_532 (rtx_insn *, rtx *);
rtx_insn *
gen_split_532 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_532 (i386.md:20533)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20545 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = GEN_INT (INTVAL (operands[2]) + 1);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (SImode,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20533 */
extern rtx_insn *gen_split_533 (rtx_insn *, rtx *);
rtx_insn *
gen_split_533 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_533 (i386.md:20533)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20545 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = GEN_INT (INTVAL (operands[2]) + 1);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (DImode,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20547 */
extern rtx_insn *gen_split_534 (rtx_insn *, rtx *);
rtx_insn *
gen_split_534 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_534 (i386.md:20547)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	const1_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (QImode,
	gen_rtx_LTU (QImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20547 */
extern rtx_insn *gen_split_535 (rtx_insn *, rtx *);
rtx_insn *
gen_split_535 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_535 (i386.md:20547)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	const1_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (HImode,
	gen_rtx_LTU (HImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20547 */
extern rtx_insn *gen_split_536 (rtx_insn *, rtx *);
rtx_insn *
gen_split_536 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_536 (i386.md:20547)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	const1_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (SImode,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20547 */
extern rtx_insn *gen_split_537 (rtx_insn *, rtx *);
rtx_insn *
gen_split_537 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_537 (i386.md:20547)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	const1_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (DImode,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCmode,
	17),
	const0_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20558 */
extern rtx_insn *gen_split_538 (rtx_insn *, rtx *);
rtx_insn *
gen_split_538 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_538 (i386.md:20558)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_NE (CCCmode,
	operand1,
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (QImode,
	gen_rtx_LTU (QImode,
	gen_rtx_REG (CCCmode,
	17),
	const0_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20558 */
extern rtx_insn *gen_split_539 (rtx_insn *, rtx *);
rtx_insn *
gen_split_539 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_539 (i386.md:20558)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_NE (CCCmode,
	operand1,
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (HImode,
	gen_rtx_LTU (HImode,
	gen_rtx_REG (CCCmode,
	17),
	const0_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20558 */
extern rtx_insn *gen_split_540 (rtx_insn *, rtx *);
rtx_insn *
gen_split_540 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_540 (i386.md:20558)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_NE (CCCmode,
	operand1,
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (SImode,
	gen_rtx_LTU (SImode,
	gen_rtx_REG (CCCmode,
	17),
	const0_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20558 */
extern rtx_insn *gen_split_541 (rtx_insn *, rtx *);
rtx_insn *
gen_split_541 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_541 (i386.md:20558)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCCmode,
	17),
	gen_rtx_NE (CCCmode,
	operand1,
	const0_rtx)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (DImode,
	gen_rtx_LTU (DImode,
	gen_rtx_REG (CCCmode,
	17),
	const0_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20601 */
extern rtx_insn *gen_split_542 (rtx_insn *, rtx *);
rtx_insn *
gen_split_542 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_542 (i386.md:20601)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20614 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = force_reg (HImode, operands[2]);
  operands[3] = force_reg (HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (HImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20601 */
extern rtx_insn *gen_split_543 (rtx_insn *, rtx *);
rtx_insn *
gen_split_543 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_543 (i386.md:20601)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20614 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = force_reg (SImode, operands[2]);
  operands[3] = force_reg (SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20601 */
extern rtx_insn *gen_split_544 (rtx_insn *, rtx *);
rtx_insn *
gen_split_544 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_544 (i386.md:20601)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20614 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = force_reg (DImode, operands[2]);
  operands[3] = force_reg (DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20630 */
extern rtx_insn *gen_split_545 (rtx_insn *, rtx *);
rtx_insn *
gen_split_545 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_545 (i386.md:20630)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20640 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[2] = gen_lowpart (SImode, operands[2]);
  operands[3] = gen_lowpart (SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20630 */
extern rtx_insn *gen_split_546 (rtx_insn *, rtx *);
rtx_insn *
gen_split_546 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_546 (i386.md:20630)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20640 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[2] = gen_lowpart (SImode, operands[2]);
  operands[3] = gen_lowpart (SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20647 */
extern rtx_insn *gen_peephole2_110 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_110 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[4] = peep2_find_free_register (0, 0, "r", HImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_110 (i386.md:20647)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20660 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (MEM_P (operands[2]))
    {
      operands[5] = operands[2];
      operands[2] = operands[4];
    }
  else if (MEM_P (operands[3]))
    {
      operands[5] = operands[3];
      operands[3] = operands[4];
    }
  else
    gcc_unreachable ();
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand4,
	operand5));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (HImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20647 */
extern rtx_insn *gen_peephole2_111 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_111 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[4] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_111 (i386.md:20647)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20660 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (MEM_P (operands[2]))
    {
      operands[5] = operands[2];
      operands[2] = operands[4];
    }
  else if (MEM_P (operands[3]))
    {
      operands[5] = operands[3];
      operands[3] = operands[4];
    }
  else
    gcc_unreachable ();
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand4,
	operand5));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20647 */
extern rtx_insn *gen_peephole2_112 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_112 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[4] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_112 (i386.md:20647)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20660 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (MEM_P (operands[2]))
    {
      operands[5] = operands[2];
      operands[2] = operands[4];
    }
  else if (MEM_P (operands[3]))
    {
      operands[5] = operands[3];
      operands[3] = operands[4];
    }
  else
    gcc_unreachable ();
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand4,
	operand5));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20675 */
extern rtx_insn *gen_peephole2_113 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_113 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[4] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_113 (i386.md:20675)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20693 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (MEM_P (operands[2]))
    {
      operands[5] = operands[2];
      operands[2] = operands[4];
    }
  else if (MEM_P (operands[3]))
    {
      operands[5] = operands[3];
      operands[3] = operands[4];
    }
  else
    gcc_unreachable ();
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand4,
	operand5));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DImode,
	operand1,
	gen_rtx_ZERO_EXTEND (DImode,
	operand2),
	gen_rtx_ZERO_EXTEND (DImode,
	operand3))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20710 */
extern rtx_insn *gen_peephole2_114 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_114 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_114 (i386.md:20710)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20734 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[7] = SET_DEST (XVECEXP (PATTERN (peep2_next_insn (1)), 0, 0));
  operands[8] = replace_rtx (operands[5], operands[0], operands[1], true);
  operands[9] = replace_rtx (operands[6], operands[0], operands[1], true);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand7,
	operand8),
		gen_rtx_SET (operand1,
	operand9))), true);
  emit_insn (gen_rtx_SET (operand0,
	operand3));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_IF_THEN_ELSE (HImode,
	operand4,
	copy_rtx (operand1),
	copy_rtx (operand0))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20710 */
extern rtx_insn *gen_peephole2_115 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_115 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_115 (i386.md:20710)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20734 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[7] = SET_DEST (XVECEXP (PATTERN (peep2_next_insn (1)), 0, 0));
  operands[8] = replace_rtx (operands[5], operands[0], operands[1], true);
  operands[9] = replace_rtx (operands[6], operands[0], operands[1], true);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand7,
	operand8),
		gen_rtx_SET (operand1,
	operand9))), true);
  emit_insn (gen_rtx_SET (operand0,
	operand3));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_IF_THEN_ELSE (SImode,
	operand4,
	copy_rtx (operand1),
	copy_rtx (operand0))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20710 */
extern rtx_insn *gen_peephole2_116 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_116 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_116 (i386.md:20710)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20734 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[7] = SET_DEST (XVECEXP (PATTERN (peep2_next_insn (1)), 0, 0));
  operands[8] = replace_rtx (operands[5], operands[0], operands[1], true);
  operands[9] = replace_rtx (operands[6], operands[0], operands[1], true);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand7,
	operand8),
		gen_rtx_SET (operand1,
	operand9))), true);
  emit_insn (gen_rtx_SET (operand0,
	operand3));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_IF_THEN_ELSE (DImode,
	operand4,
	copy_rtx (operand1),
	copy_rtx (operand0))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20742 */
extern rtx_insn *gen_peephole2_117 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_117 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_117 (i386.md:20742)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20767 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[7] = SET_DEST (XVECEXP (PATTERN (peep2_next_insn (2)), 0, 0));
  operands[8] = replace_rtx (operands[5], operands[0], operands[1], true);
  operands[9] = replace_rtx (operands[6], operands[0], operands[1], true);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand7,
	operand8),
		gen_rtx_SET (operand1,
	operand9))), true);
  emit_insn (gen_rtx_SET (operand0,
	operand3));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_IF_THEN_ELSE (HImode,
	operand4,
	copy_rtx (operand1),
	copy_rtx (operand0))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20742 */
extern rtx_insn *gen_peephole2_118 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_118 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_118 (i386.md:20742)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20767 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[7] = SET_DEST (XVECEXP (PATTERN (peep2_next_insn (2)), 0, 0));
  operands[8] = replace_rtx (operands[5], operands[0], operands[1], true);
  operands[9] = replace_rtx (operands[6], operands[0], operands[1], true);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand7,
	operand8),
		gen_rtx_SET (operand1,
	operand9))), true);
  emit_insn (gen_rtx_SET (operand0,
	operand3));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_IF_THEN_ELSE (SImode,
	operand4,
	copy_rtx (operand1),
	copy_rtx (operand0))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20742 */
extern rtx_insn *gen_peephole2_119 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_119 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_119 (i386.md:20742)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20767 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[7] = SET_DEST (XVECEXP (PATTERN (peep2_next_insn (2)), 0, 0));
  operands[8] = replace_rtx (operands[5], operands[0], operands[1], true);
  operands[9] = replace_rtx (operands[6], operands[0], operands[1], true);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand7,
	operand8),
		gen_rtx_SET (operand1,
	operand9))), true);
  emit_insn (gen_rtx_SET (operand0,
	operand3));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_IF_THEN_ELSE (DImode,
	operand4,
	copy_rtx (operand1),
	copy_rtx (operand0))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20789 */
rtx
gen_movhfcc (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20796 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
if (ix86_expand_fp_movcc (operands)) DONE; else FAIL;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (HFmode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20798 */
rtx
gen_movsfcc (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20806 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
if (ix86_expand_fp_movcc (operands)) DONE; else FAIL;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SFmode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20798 */
rtx
gen_movdfcc (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20806 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
if (ix86_expand_fp_movcc (operands)) DONE; else FAIL;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DFmode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20798 */
rtx
gen_movxfcc (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20806 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
if (ix86_expand_fp_movcc (operands)) DONE; else FAIL;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (XFmode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20842 */
extern rtx_insn *gen_split_547 (rtx_insn *, rtx *);
rtx_insn *
gen_split_547 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_547 (i386.md:20842)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20853 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  split_double_mode (DImode, &operands[2], 2, &operands[4], &operands[6]);
  split_double_mode (DImode, &operands[0], 1, &operands[2], &operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_IF_THEN_ELSE (SImode,
	operand1,
	operand4,
	operand5)));
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_IF_THEN_ELSE (SImode,
	copy_rtx (operand1),
	operand6,
	operand7)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20876 */
extern rtx_insn *gen_split_548 (rtx_insn *, rtx *);
rtx_insn *
gen_split_548 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_548 (i386.md:20876)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20889 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = force_reg (SFmode, operands[2]);
  operands[3] = force_reg (SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SFmode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20876 */
extern rtx_insn *gen_split_549 (rtx_insn *, rtx *);
rtx_insn *
gen_split_549 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_549 (i386.md:20876)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20889 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = force_reg (DFmode, operands[2]);
  operands[3] = force_reg (DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DFmode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20895 */
extern rtx_insn *gen_peephole2_120 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_120 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[4] = peep2_find_free_register (0, 0, "r", SFmode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_120 (i386.md:20895)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20910 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (MEM_P (operands[2]))
    {
      operands[5] = operands[2];
      operands[2] = operands[4];
    }
  else if (MEM_P (operands[3]))
    {
      operands[5] = operands[3];
      operands[3] = operands[4];
    }
  else
    gcc_unreachable ();
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand4,
	operand5));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SFmode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:20895 */
extern rtx_insn *gen_peephole2_121 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_121 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[4] = peep2_find_free_register (0, 0, "r", DFmode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_121 (i386.md:20895)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20910 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (MEM_P (operands[2]))
    {
      operands[5] = operands[2];
      operands[2] = operands[4];
    }
  else if (MEM_P (operands[3]))
    {
      operands[5] = operands[3];
      operands[3] = operands[4];
    }
  else
    gcc_unreachable ();
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand4,
	operand5));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DFmode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21009 */
extern rtx_insn *gen_peephole2_122 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_122 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_122 (i386.md:21009)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21021 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[4] = operands[0];
  operands[5] = operands[1];

  /* The % modifier is not operational anymore in peephole2's, so we have to
     swap the operands manually in the case of addition and multiplication. */
  if (COMMUTATIVE_ARITH_P (operands[2]))
    std::swap (operands[4], operands[5]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	operand3));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_fmt_ee (GET_CODE (operand2), GET_MODE (operand2),
		operand5,
		operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21031 */
extern rtx_insn *gen_peephole2_123 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_123 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_123 (i386.md:21031)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21043 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[4] = operands[0];
  operands[5] = operands[1];

  /* The % modifier is not operational anymore in peephole2's, so we have to
     swap the operands manually in the case of addition and multiplication. */
  if (COMMUTATIVE_ARITH_P (operands[2]))
    std::swap (operands[4], operands[5]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	operand3));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_fmt_ee (GET_CODE (operand2), GET_MODE (operand2),
		operand4,
		operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21054 */
rtx
gen_addqicc (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21060 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
if (ix86_expand_int_addcc (operands)) DONE; else FAIL;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21054 */
rtx
gen_addhicc (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21060 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
if (ix86_expand_int_addcc (operands)) DONE; else FAIL;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21054 */
rtx
gen_addsicc (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21060 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
if (ix86_expand_int_addcc (operands)) DONE; else FAIL;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21054 */
rtx
gen_adddicc (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21060 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
if (ix86_expand_int_addcc (operands)) DONE; else FAIL;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21067 */
rtx
gen_smaxqi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_SMAX (QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21067 */
rtx
gen_sminqi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_SMIN (QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21067 */
rtx
gen_umaxqi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UMAX (QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21067 */
rtx
gen_uminqi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UMIN (QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21067 */
rtx
gen_smaxhi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_SMAX (HImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21067 */
rtx
gen_sminhi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_SMIN (HImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21067 */
rtx
gen_umaxhi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UMAX (HImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21067 */
rtx
gen_uminhi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UMIN (HImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21067 */
rtx
gen_smaxsi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_SMAX (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21067 */
rtx
gen_sminsi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_SMIN (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21067 */
rtx
gen_umaxsi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UMAX (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21067 */
rtx
gen_uminsi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UMIN (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21067 */
rtx
gen_smaxdi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_SMAX (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21067 */
rtx
gen_smindi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_SMIN (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21067 */
rtx
gen_umaxdi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UMAX (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21067 */
rtx
gen_umindi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UMIN (DImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21067 */
rtx
gen_smaxti3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_SMAX (TImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21067 */
rtx
gen_sminti3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_SMIN (TImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21067 */
rtx
gen_umaxti3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UMAX (TImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21067 */
rtx
gen_uminti3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UMIN (TImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21077 */
extern rtx_insn *gen_split_550 (rtx_insn *, rtx *);
rtx_insn *
gen_split_550 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_550 (i386.md:21077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21095 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = force_reg (DImode, operands[2]);

  split_double_mode (DImode, &operands[0], 3, &operands[0], &operands[3]);

  rtx cmplo[2] = { operands[1], operands[2] };
  rtx cmphi[2] = { operands[4], operands[5] };

  enum rtx_code code = GE;

  switch (code)
    {
    case LE: case LEU:
      std::swap (cmplo[0], cmplo[1]);
      std::swap (cmphi[0], cmphi[1]);
      code = swap_condition (code);
      /* FALLTHRU */

    case GE: case GEU:
      {
	bool uns = (code == GEU);
	rtx (*sbb_insn) (machine_mode, rtx, rtx, rtx)
	  = uns ? gen_sub3_carry_ccc : gen_sub3_carry_ccgz;

	emit_insn (gen_cmp_1 (SImode, cmplo[0], cmplo[1]));

	rtx tmp = gen_rtx_SCRATCH (SImode);
	emit_insn (sbb_insn (SImode, tmp, cmphi[0], cmphi[1]));

	rtx flags = gen_rtx_REG (uns ? CCCmode : CCGZmode, FLAGS_REG);
	operands[6] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);

	break;
      }

    default:
      gcc_unreachable ();
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	operand6,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_IF_THEN_ELSE (SImode,
	copy_rtx (operand6),
	operand4,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21077 */
extern rtx_insn *gen_split_551 (rtx_insn *, rtx *);
rtx_insn *
gen_split_551 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_551 (i386.md:21077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21095 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = force_reg (DImode, operands[2]);

  split_double_mode (DImode, &operands[0], 3, &operands[0], &operands[3]);

  rtx cmplo[2] = { operands[1], operands[2] };
  rtx cmphi[2] = { operands[4], operands[5] };

  enum rtx_code code = LE;

  switch (code)
    {
    case LE: case LEU:
      std::swap (cmplo[0], cmplo[1]);
      std::swap (cmphi[0], cmphi[1]);
      code = swap_condition (code);
      /* FALLTHRU */

    case GE: case GEU:
      {
	bool uns = (code == GEU);
	rtx (*sbb_insn) (machine_mode, rtx, rtx, rtx)
	  = uns ? gen_sub3_carry_ccc : gen_sub3_carry_ccgz;

	emit_insn (gen_cmp_1 (SImode, cmplo[0], cmplo[1]));

	rtx tmp = gen_rtx_SCRATCH (SImode);
	emit_insn (sbb_insn (SImode, tmp, cmphi[0], cmphi[1]));

	rtx flags = gen_rtx_REG (uns ? CCCmode : CCGZmode, FLAGS_REG);
	operands[6] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);

	break;
      }

    default:
      gcc_unreachable ();
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	operand6,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_IF_THEN_ELSE (SImode,
	copy_rtx (operand6),
	operand4,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21077 */
extern rtx_insn *gen_split_552 (rtx_insn *, rtx *);
rtx_insn *
gen_split_552 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_552 (i386.md:21077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21095 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = force_reg (DImode, operands[2]);

  split_double_mode (DImode, &operands[0], 3, &operands[0], &operands[3]);

  rtx cmplo[2] = { operands[1], operands[2] };
  rtx cmphi[2] = { operands[4], operands[5] };

  enum rtx_code code = GEU;

  switch (code)
    {
    case LE: case LEU:
      std::swap (cmplo[0], cmplo[1]);
      std::swap (cmphi[0], cmphi[1]);
      code = swap_condition (code);
      /* FALLTHRU */

    case GE: case GEU:
      {
	bool uns = (code == GEU);
	rtx (*sbb_insn) (machine_mode, rtx, rtx, rtx)
	  = uns ? gen_sub3_carry_ccc : gen_sub3_carry_ccgz;

	emit_insn (gen_cmp_1 (SImode, cmplo[0], cmplo[1]));

	rtx tmp = gen_rtx_SCRATCH (SImode);
	emit_insn (sbb_insn (SImode, tmp, cmphi[0], cmphi[1]));

	rtx flags = gen_rtx_REG (uns ? CCCmode : CCGZmode, FLAGS_REG);
	operands[6] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);

	break;
      }

    default:
      gcc_unreachable ();
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	operand6,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_IF_THEN_ELSE (SImode,
	copy_rtx (operand6),
	operand4,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21077 */
extern rtx_insn *gen_split_553 (rtx_insn *, rtx *);
rtx_insn *
gen_split_553 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_553 (i386.md:21077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21095 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = force_reg (DImode, operands[2]);

  split_double_mode (DImode, &operands[0], 3, &operands[0], &operands[3]);

  rtx cmplo[2] = { operands[1], operands[2] };
  rtx cmphi[2] = { operands[4], operands[5] };

  enum rtx_code code = LEU;

  switch (code)
    {
    case LE: case LEU:
      std::swap (cmplo[0], cmplo[1]);
      std::swap (cmphi[0], cmphi[1]);
      code = swap_condition (code);
      /* FALLTHRU */

    case GE: case GEU:
      {
	bool uns = (code == GEU);
	rtx (*sbb_insn) (machine_mode, rtx, rtx, rtx)
	  = uns ? gen_sub3_carry_ccc : gen_sub3_carry_ccgz;

	emit_insn (gen_cmp_1 (SImode, cmplo[0], cmplo[1]));

	rtx tmp = gen_rtx_SCRATCH (SImode);
	emit_insn (sbb_insn (SImode, tmp, cmphi[0], cmphi[1]));

	rtx flags = gen_rtx_REG (uns ? CCCmode : CCGZmode, FLAGS_REG);
	operands[6] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);

	break;
      }

    default:
      gcc_unreachable ();
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	operand6,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_IF_THEN_ELSE (SImode,
	copy_rtx (operand6),
	operand4,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21077 */
extern rtx_insn *gen_split_554 (rtx_insn *, rtx *);
rtx_insn *
gen_split_554 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_554 (i386.md:21077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21095 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = force_reg (TImode, operands[2]);

  split_double_mode (TImode, &operands[0], 3, &operands[0], &operands[3]);

  rtx cmplo[2] = { operands[1], operands[2] };
  rtx cmphi[2] = { operands[4], operands[5] };

  enum rtx_code code = GE;

  switch (code)
    {
    case LE: case LEU:
      std::swap (cmplo[0], cmplo[1]);
      std::swap (cmphi[0], cmphi[1]);
      code = swap_condition (code);
      /* FALLTHRU */

    case GE: case GEU:
      {
	bool uns = (code == GEU);
	rtx (*sbb_insn) (machine_mode, rtx, rtx, rtx)
	  = uns ? gen_sub3_carry_ccc : gen_sub3_carry_ccgz;

	emit_insn (gen_cmp_1 (DImode, cmplo[0], cmplo[1]));

	rtx tmp = gen_rtx_SCRATCH (DImode);
	emit_insn (sbb_insn (DImode, tmp, cmphi[0], cmphi[1]));

	rtx flags = gen_rtx_REG (uns ? CCCmode : CCGZmode, FLAGS_REG);
	operands[6] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);

	break;
      }

    default:
      gcc_unreachable ();
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DImode,
	operand6,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_IF_THEN_ELSE (DImode,
	copy_rtx (operand6),
	operand4,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21077 */
extern rtx_insn *gen_split_555 (rtx_insn *, rtx *);
rtx_insn *
gen_split_555 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_555 (i386.md:21077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21095 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = force_reg (TImode, operands[2]);

  split_double_mode (TImode, &operands[0], 3, &operands[0], &operands[3]);

  rtx cmplo[2] = { operands[1], operands[2] };
  rtx cmphi[2] = { operands[4], operands[5] };

  enum rtx_code code = LE;

  switch (code)
    {
    case LE: case LEU:
      std::swap (cmplo[0], cmplo[1]);
      std::swap (cmphi[0], cmphi[1]);
      code = swap_condition (code);
      /* FALLTHRU */

    case GE: case GEU:
      {
	bool uns = (code == GEU);
	rtx (*sbb_insn) (machine_mode, rtx, rtx, rtx)
	  = uns ? gen_sub3_carry_ccc : gen_sub3_carry_ccgz;

	emit_insn (gen_cmp_1 (DImode, cmplo[0], cmplo[1]));

	rtx tmp = gen_rtx_SCRATCH (DImode);
	emit_insn (sbb_insn (DImode, tmp, cmphi[0], cmphi[1]));

	rtx flags = gen_rtx_REG (uns ? CCCmode : CCGZmode, FLAGS_REG);
	operands[6] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);

	break;
      }

    default:
      gcc_unreachable ();
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DImode,
	operand6,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_IF_THEN_ELSE (DImode,
	copy_rtx (operand6),
	operand4,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21077 */
extern rtx_insn *gen_split_556 (rtx_insn *, rtx *);
rtx_insn *
gen_split_556 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_556 (i386.md:21077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21095 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = force_reg (TImode, operands[2]);

  split_double_mode (TImode, &operands[0], 3, &operands[0], &operands[3]);

  rtx cmplo[2] = { operands[1], operands[2] };
  rtx cmphi[2] = { operands[4], operands[5] };

  enum rtx_code code = GEU;

  switch (code)
    {
    case LE: case LEU:
      std::swap (cmplo[0], cmplo[1]);
      std::swap (cmphi[0], cmphi[1]);
      code = swap_condition (code);
      /* FALLTHRU */

    case GE: case GEU:
      {
	bool uns = (code == GEU);
	rtx (*sbb_insn) (machine_mode, rtx, rtx, rtx)
	  = uns ? gen_sub3_carry_ccc : gen_sub3_carry_ccgz;

	emit_insn (gen_cmp_1 (DImode, cmplo[0], cmplo[1]));

	rtx tmp = gen_rtx_SCRATCH (DImode);
	emit_insn (sbb_insn (DImode, tmp, cmphi[0], cmphi[1]));

	rtx flags = gen_rtx_REG (uns ? CCCmode : CCGZmode, FLAGS_REG);
	operands[6] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);

	break;
      }

    default:
      gcc_unreachable ();
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DImode,
	operand6,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_IF_THEN_ELSE (DImode,
	copy_rtx (operand6),
	operand4,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21077 */
extern rtx_insn *gen_split_557 (rtx_insn *, rtx *);
rtx_insn *
gen_split_557 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_557 (i386.md:21077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21095 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = force_reg (TImode, operands[2]);

  split_double_mode (TImode, &operands[0], 3, &operands[0], &operands[3]);

  rtx cmplo[2] = { operands[1], operands[2] };
  rtx cmphi[2] = { operands[4], operands[5] };

  enum rtx_code code = LEU;

  switch (code)
    {
    case LE: case LEU:
      std::swap (cmplo[0], cmplo[1]);
      std::swap (cmphi[0], cmphi[1]);
      code = swap_condition (code);
      /* FALLTHRU */

    case GE: case GEU:
      {
	bool uns = (code == GEU);
	rtx (*sbb_insn) (machine_mode, rtx, rtx, rtx)
	  = uns ? gen_sub3_carry_ccc : gen_sub3_carry_ccgz;

	emit_insn (gen_cmp_1 (DImode, cmplo[0], cmplo[1]));

	rtx tmp = gen_rtx_SCRATCH (DImode);
	emit_insn (sbb_insn (DImode, tmp, cmphi[0], cmphi[1]));

	rtx flags = gen_rtx_REG (uns ? CCCmode : CCGZmode, FLAGS_REG);
	operands[6] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);

	break;
      }

    default:
      gcc_unreachable ();
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DImode,
	operand6,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_IF_THEN_ELSE (DImode,
	copy_rtx (operand6),
	operand4,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21135 */
extern rtx_insn *gen_split_558 (rtx_insn *, rtx *);
rtx_insn *
gen_split_558 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_558 (i386.md:21135)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21150 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = QImode;
  rtx cmp_op = operands[2];

  operands[2] = force_reg (mode, cmp_op);

  enum rtx_code code = GE;

  if (cmp_op == const1_rtx)
    {
      /* Convert smax (x, 1) into (x > 0 ? x : 1).
	 Convert umax (x, 1) into (x != 0 ? x : 1).
	 Convert ?min (x, 1) into (x <= 0 ? x : 1).  */
      cmp_op = const0_rtx;
      if (code == GE)
	code = GT;
      else if (code == GEU)
	code = NE;
    }
  /* Convert smin (x, -1) into (x < 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == LE)
    {
      cmp_op = const0_rtx;
      code = LT;
    }
  /* Convert smax (x, -1) into (x >= 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == GE)
    cmp_op = const0_rtx;
  else if (cmp_op != const0_rtx)
    cmp_op = operands[2];

  machine_mode cmpmode = SELECT_CC_MODE (code, operands[1], cmp_op);
  rtx flags = gen_rtx_REG (cmpmode, FLAGS_REG);

  rtx tmp = gen_rtx_COMPARE (cmpmode, operands[1], cmp_op);
  emit_insn (gen_rtx_SET (flags, tmp));

  operands[3] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (QImode,
	operand3,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21135 */
extern rtx_insn *gen_split_559 (rtx_insn *, rtx *);
rtx_insn *
gen_split_559 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_559 (i386.md:21135)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21150 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = QImode;
  rtx cmp_op = operands[2];

  operands[2] = force_reg (mode, cmp_op);

  enum rtx_code code = LE;

  if (cmp_op == const1_rtx)
    {
      /* Convert smax (x, 1) into (x > 0 ? x : 1).
	 Convert umax (x, 1) into (x != 0 ? x : 1).
	 Convert ?min (x, 1) into (x <= 0 ? x : 1).  */
      cmp_op = const0_rtx;
      if (code == GE)
	code = GT;
      else if (code == GEU)
	code = NE;
    }
  /* Convert smin (x, -1) into (x < 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == LE)
    {
      cmp_op = const0_rtx;
      code = LT;
    }
  /* Convert smax (x, -1) into (x >= 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == GE)
    cmp_op = const0_rtx;
  else if (cmp_op != const0_rtx)
    cmp_op = operands[2];

  machine_mode cmpmode = SELECT_CC_MODE (code, operands[1], cmp_op);
  rtx flags = gen_rtx_REG (cmpmode, FLAGS_REG);

  rtx tmp = gen_rtx_COMPARE (cmpmode, operands[1], cmp_op);
  emit_insn (gen_rtx_SET (flags, tmp));

  operands[3] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (QImode,
	operand3,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21135 */
extern rtx_insn *gen_split_560 (rtx_insn *, rtx *);
rtx_insn *
gen_split_560 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_560 (i386.md:21135)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21150 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = QImode;
  rtx cmp_op = operands[2];

  operands[2] = force_reg (mode, cmp_op);

  enum rtx_code code = GEU;

  if (cmp_op == const1_rtx)
    {
      /* Convert smax (x, 1) into (x > 0 ? x : 1).
	 Convert umax (x, 1) into (x != 0 ? x : 1).
	 Convert ?min (x, 1) into (x <= 0 ? x : 1).  */
      cmp_op = const0_rtx;
      if (code == GE)
	code = GT;
      else if (code == GEU)
	code = NE;
    }
  /* Convert smin (x, -1) into (x < 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == LE)
    {
      cmp_op = const0_rtx;
      code = LT;
    }
  /* Convert smax (x, -1) into (x >= 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == GE)
    cmp_op = const0_rtx;
  else if (cmp_op != const0_rtx)
    cmp_op = operands[2];

  machine_mode cmpmode = SELECT_CC_MODE (code, operands[1], cmp_op);
  rtx flags = gen_rtx_REG (cmpmode, FLAGS_REG);

  rtx tmp = gen_rtx_COMPARE (cmpmode, operands[1], cmp_op);
  emit_insn (gen_rtx_SET (flags, tmp));

  operands[3] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (QImode,
	operand3,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21135 */
extern rtx_insn *gen_split_561 (rtx_insn *, rtx *);
rtx_insn *
gen_split_561 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_561 (i386.md:21135)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21150 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = QImode;
  rtx cmp_op = operands[2];

  operands[2] = force_reg (mode, cmp_op);

  enum rtx_code code = LEU;

  if (cmp_op == const1_rtx)
    {
      /* Convert smax (x, 1) into (x > 0 ? x : 1).
	 Convert umax (x, 1) into (x != 0 ? x : 1).
	 Convert ?min (x, 1) into (x <= 0 ? x : 1).  */
      cmp_op = const0_rtx;
      if (code == GE)
	code = GT;
      else if (code == GEU)
	code = NE;
    }
  /* Convert smin (x, -1) into (x < 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == LE)
    {
      cmp_op = const0_rtx;
      code = LT;
    }
  /* Convert smax (x, -1) into (x >= 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == GE)
    cmp_op = const0_rtx;
  else if (cmp_op != const0_rtx)
    cmp_op = operands[2];

  machine_mode cmpmode = SELECT_CC_MODE (code, operands[1], cmp_op);
  rtx flags = gen_rtx_REG (cmpmode, FLAGS_REG);

  rtx tmp = gen_rtx_COMPARE (cmpmode, operands[1], cmp_op);
  emit_insn (gen_rtx_SET (flags, tmp));

  operands[3] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (QImode,
	operand3,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21135 */
extern rtx_insn *gen_split_562 (rtx_insn *, rtx *);
rtx_insn *
gen_split_562 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_562 (i386.md:21135)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21150 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = HImode;
  rtx cmp_op = operands[2];

  operands[2] = force_reg (mode, cmp_op);

  enum rtx_code code = GE;

  if (cmp_op == const1_rtx)
    {
      /* Convert smax (x, 1) into (x > 0 ? x : 1).
	 Convert umax (x, 1) into (x != 0 ? x : 1).
	 Convert ?min (x, 1) into (x <= 0 ? x : 1).  */
      cmp_op = const0_rtx;
      if (code == GE)
	code = GT;
      else if (code == GEU)
	code = NE;
    }
  /* Convert smin (x, -1) into (x < 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == LE)
    {
      cmp_op = const0_rtx;
      code = LT;
    }
  /* Convert smax (x, -1) into (x >= 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == GE)
    cmp_op = const0_rtx;
  else if (cmp_op != const0_rtx)
    cmp_op = operands[2];

  machine_mode cmpmode = SELECT_CC_MODE (code, operands[1], cmp_op);
  rtx flags = gen_rtx_REG (cmpmode, FLAGS_REG);

  rtx tmp = gen_rtx_COMPARE (cmpmode, operands[1], cmp_op);
  emit_insn (gen_rtx_SET (flags, tmp));

  operands[3] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (HImode,
	operand3,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21135 */
extern rtx_insn *gen_split_563 (rtx_insn *, rtx *);
rtx_insn *
gen_split_563 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_563 (i386.md:21135)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21150 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = HImode;
  rtx cmp_op = operands[2];

  operands[2] = force_reg (mode, cmp_op);

  enum rtx_code code = LE;

  if (cmp_op == const1_rtx)
    {
      /* Convert smax (x, 1) into (x > 0 ? x : 1).
	 Convert umax (x, 1) into (x != 0 ? x : 1).
	 Convert ?min (x, 1) into (x <= 0 ? x : 1).  */
      cmp_op = const0_rtx;
      if (code == GE)
	code = GT;
      else if (code == GEU)
	code = NE;
    }
  /* Convert smin (x, -1) into (x < 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == LE)
    {
      cmp_op = const0_rtx;
      code = LT;
    }
  /* Convert smax (x, -1) into (x >= 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == GE)
    cmp_op = const0_rtx;
  else if (cmp_op != const0_rtx)
    cmp_op = operands[2];

  machine_mode cmpmode = SELECT_CC_MODE (code, operands[1], cmp_op);
  rtx flags = gen_rtx_REG (cmpmode, FLAGS_REG);

  rtx tmp = gen_rtx_COMPARE (cmpmode, operands[1], cmp_op);
  emit_insn (gen_rtx_SET (flags, tmp));

  operands[3] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (HImode,
	operand3,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21135 */
extern rtx_insn *gen_split_564 (rtx_insn *, rtx *);
rtx_insn *
gen_split_564 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_564 (i386.md:21135)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21150 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = HImode;
  rtx cmp_op = operands[2];

  operands[2] = force_reg (mode, cmp_op);

  enum rtx_code code = GEU;

  if (cmp_op == const1_rtx)
    {
      /* Convert smax (x, 1) into (x > 0 ? x : 1).
	 Convert umax (x, 1) into (x != 0 ? x : 1).
	 Convert ?min (x, 1) into (x <= 0 ? x : 1).  */
      cmp_op = const0_rtx;
      if (code == GE)
	code = GT;
      else if (code == GEU)
	code = NE;
    }
  /* Convert smin (x, -1) into (x < 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == LE)
    {
      cmp_op = const0_rtx;
      code = LT;
    }
  /* Convert smax (x, -1) into (x >= 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == GE)
    cmp_op = const0_rtx;
  else if (cmp_op != const0_rtx)
    cmp_op = operands[2];

  machine_mode cmpmode = SELECT_CC_MODE (code, operands[1], cmp_op);
  rtx flags = gen_rtx_REG (cmpmode, FLAGS_REG);

  rtx tmp = gen_rtx_COMPARE (cmpmode, operands[1], cmp_op);
  emit_insn (gen_rtx_SET (flags, tmp));

  operands[3] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (HImode,
	operand3,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21135 */
extern rtx_insn *gen_split_565 (rtx_insn *, rtx *);
rtx_insn *
gen_split_565 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_565 (i386.md:21135)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21150 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = HImode;
  rtx cmp_op = operands[2];

  operands[2] = force_reg (mode, cmp_op);

  enum rtx_code code = LEU;

  if (cmp_op == const1_rtx)
    {
      /* Convert smax (x, 1) into (x > 0 ? x : 1).
	 Convert umax (x, 1) into (x != 0 ? x : 1).
	 Convert ?min (x, 1) into (x <= 0 ? x : 1).  */
      cmp_op = const0_rtx;
      if (code == GE)
	code = GT;
      else if (code == GEU)
	code = NE;
    }
  /* Convert smin (x, -1) into (x < 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == LE)
    {
      cmp_op = const0_rtx;
      code = LT;
    }
  /* Convert smax (x, -1) into (x >= 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == GE)
    cmp_op = const0_rtx;
  else if (cmp_op != const0_rtx)
    cmp_op = operands[2];

  machine_mode cmpmode = SELECT_CC_MODE (code, operands[1], cmp_op);
  rtx flags = gen_rtx_REG (cmpmode, FLAGS_REG);

  rtx tmp = gen_rtx_COMPARE (cmpmode, operands[1], cmp_op);
  emit_insn (gen_rtx_SET (flags, tmp));

  operands[3] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (HImode,
	operand3,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21135 */
extern rtx_insn *gen_split_566 (rtx_insn *, rtx *);
rtx_insn *
gen_split_566 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_566 (i386.md:21135)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21150 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = SImode;
  rtx cmp_op = operands[2];

  operands[2] = force_reg (mode, cmp_op);

  enum rtx_code code = GE;

  if (cmp_op == const1_rtx)
    {
      /* Convert smax (x, 1) into (x > 0 ? x : 1).
	 Convert umax (x, 1) into (x != 0 ? x : 1).
	 Convert ?min (x, 1) into (x <= 0 ? x : 1).  */
      cmp_op = const0_rtx;
      if (code == GE)
	code = GT;
      else if (code == GEU)
	code = NE;
    }
  /* Convert smin (x, -1) into (x < 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == LE)
    {
      cmp_op = const0_rtx;
      code = LT;
    }
  /* Convert smax (x, -1) into (x >= 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == GE)
    cmp_op = const0_rtx;
  else if (cmp_op != const0_rtx)
    cmp_op = operands[2];

  machine_mode cmpmode = SELECT_CC_MODE (code, operands[1], cmp_op);
  rtx flags = gen_rtx_REG (cmpmode, FLAGS_REG);

  rtx tmp = gen_rtx_COMPARE (cmpmode, operands[1], cmp_op);
  emit_insn (gen_rtx_SET (flags, tmp));

  operands[3] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	operand3,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21135 */
extern rtx_insn *gen_split_567 (rtx_insn *, rtx *);
rtx_insn *
gen_split_567 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_567 (i386.md:21135)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21150 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = SImode;
  rtx cmp_op = operands[2];

  operands[2] = force_reg (mode, cmp_op);

  enum rtx_code code = LE;

  if (cmp_op == const1_rtx)
    {
      /* Convert smax (x, 1) into (x > 0 ? x : 1).
	 Convert umax (x, 1) into (x != 0 ? x : 1).
	 Convert ?min (x, 1) into (x <= 0 ? x : 1).  */
      cmp_op = const0_rtx;
      if (code == GE)
	code = GT;
      else if (code == GEU)
	code = NE;
    }
  /* Convert smin (x, -1) into (x < 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == LE)
    {
      cmp_op = const0_rtx;
      code = LT;
    }
  /* Convert smax (x, -1) into (x >= 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == GE)
    cmp_op = const0_rtx;
  else if (cmp_op != const0_rtx)
    cmp_op = operands[2];

  machine_mode cmpmode = SELECT_CC_MODE (code, operands[1], cmp_op);
  rtx flags = gen_rtx_REG (cmpmode, FLAGS_REG);

  rtx tmp = gen_rtx_COMPARE (cmpmode, operands[1], cmp_op);
  emit_insn (gen_rtx_SET (flags, tmp));

  operands[3] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	operand3,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21135 */
extern rtx_insn *gen_split_568 (rtx_insn *, rtx *);
rtx_insn *
gen_split_568 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_568 (i386.md:21135)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21150 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = SImode;
  rtx cmp_op = operands[2];

  operands[2] = force_reg (mode, cmp_op);

  enum rtx_code code = GEU;

  if (cmp_op == const1_rtx)
    {
      /* Convert smax (x, 1) into (x > 0 ? x : 1).
	 Convert umax (x, 1) into (x != 0 ? x : 1).
	 Convert ?min (x, 1) into (x <= 0 ? x : 1).  */
      cmp_op = const0_rtx;
      if (code == GE)
	code = GT;
      else if (code == GEU)
	code = NE;
    }
  /* Convert smin (x, -1) into (x < 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == LE)
    {
      cmp_op = const0_rtx;
      code = LT;
    }
  /* Convert smax (x, -1) into (x >= 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == GE)
    cmp_op = const0_rtx;
  else if (cmp_op != const0_rtx)
    cmp_op = operands[2];

  machine_mode cmpmode = SELECT_CC_MODE (code, operands[1], cmp_op);
  rtx flags = gen_rtx_REG (cmpmode, FLAGS_REG);

  rtx tmp = gen_rtx_COMPARE (cmpmode, operands[1], cmp_op);
  emit_insn (gen_rtx_SET (flags, tmp));

  operands[3] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	operand3,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21135 */
extern rtx_insn *gen_split_569 (rtx_insn *, rtx *);
rtx_insn *
gen_split_569 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_569 (i386.md:21135)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21150 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = SImode;
  rtx cmp_op = operands[2];

  operands[2] = force_reg (mode, cmp_op);

  enum rtx_code code = LEU;

  if (cmp_op == const1_rtx)
    {
      /* Convert smax (x, 1) into (x > 0 ? x : 1).
	 Convert umax (x, 1) into (x != 0 ? x : 1).
	 Convert ?min (x, 1) into (x <= 0 ? x : 1).  */
      cmp_op = const0_rtx;
      if (code == GE)
	code = GT;
      else if (code == GEU)
	code = NE;
    }
  /* Convert smin (x, -1) into (x < 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == LE)
    {
      cmp_op = const0_rtx;
      code = LT;
    }
  /* Convert smax (x, -1) into (x >= 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == GE)
    cmp_op = const0_rtx;
  else if (cmp_op != const0_rtx)
    cmp_op = operands[2];

  machine_mode cmpmode = SELECT_CC_MODE (code, operands[1], cmp_op);
  rtx flags = gen_rtx_REG (cmpmode, FLAGS_REG);

  rtx tmp = gen_rtx_COMPARE (cmpmode, operands[1], cmp_op);
  emit_insn (gen_rtx_SET (flags, tmp));

  operands[3] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (SImode,
	operand3,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21135 */
extern rtx_insn *gen_split_570 (rtx_insn *, rtx *);
rtx_insn *
gen_split_570 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_570 (i386.md:21135)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21150 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = DImode;
  rtx cmp_op = operands[2];

  operands[2] = force_reg (mode, cmp_op);

  enum rtx_code code = GE;

  if (cmp_op == const1_rtx)
    {
      /* Convert smax (x, 1) into (x > 0 ? x : 1).
	 Convert umax (x, 1) into (x != 0 ? x : 1).
	 Convert ?min (x, 1) into (x <= 0 ? x : 1).  */
      cmp_op = const0_rtx;
      if (code == GE)
	code = GT;
      else if (code == GEU)
	code = NE;
    }
  /* Convert smin (x, -1) into (x < 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == LE)
    {
      cmp_op = const0_rtx;
      code = LT;
    }
  /* Convert smax (x, -1) into (x >= 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == GE)
    cmp_op = const0_rtx;
  else if (cmp_op != const0_rtx)
    cmp_op = operands[2];

  machine_mode cmpmode = SELECT_CC_MODE (code, operands[1], cmp_op);
  rtx flags = gen_rtx_REG (cmpmode, FLAGS_REG);

  rtx tmp = gen_rtx_COMPARE (cmpmode, operands[1], cmp_op);
  emit_insn (gen_rtx_SET (flags, tmp));

  operands[3] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DImode,
	operand3,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21135 */
extern rtx_insn *gen_split_571 (rtx_insn *, rtx *);
rtx_insn *
gen_split_571 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_571 (i386.md:21135)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21150 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = DImode;
  rtx cmp_op = operands[2];

  operands[2] = force_reg (mode, cmp_op);

  enum rtx_code code = LE;

  if (cmp_op == const1_rtx)
    {
      /* Convert smax (x, 1) into (x > 0 ? x : 1).
	 Convert umax (x, 1) into (x != 0 ? x : 1).
	 Convert ?min (x, 1) into (x <= 0 ? x : 1).  */
      cmp_op = const0_rtx;
      if (code == GE)
	code = GT;
      else if (code == GEU)
	code = NE;
    }
  /* Convert smin (x, -1) into (x < 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == LE)
    {
      cmp_op = const0_rtx;
      code = LT;
    }
  /* Convert smax (x, -1) into (x >= 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == GE)
    cmp_op = const0_rtx;
  else if (cmp_op != const0_rtx)
    cmp_op = operands[2];

  machine_mode cmpmode = SELECT_CC_MODE (code, operands[1], cmp_op);
  rtx flags = gen_rtx_REG (cmpmode, FLAGS_REG);

  rtx tmp = gen_rtx_COMPARE (cmpmode, operands[1], cmp_op);
  emit_insn (gen_rtx_SET (flags, tmp));

  operands[3] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DImode,
	operand3,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21135 */
extern rtx_insn *gen_split_572 (rtx_insn *, rtx *);
rtx_insn *
gen_split_572 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_572 (i386.md:21135)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21150 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = DImode;
  rtx cmp_op = operands[2];

  operands[2] = force_reg (mode, cmp_op);

  enum rtx_code code = GEU;

  if (cmp_op == const1_rtx)
    {
      /* Convert smax (x, 1) into (x > 0 ? x : 1).
	 Convert umax (x, 1) into (x != 0 ? x : 1).
	 Convert ?min (x, 1) into (x <= 0 ? x : 1).  */
      cmp_op = const0_rtx;
      if (code == GE)
	code = GT;
      else if (code == GEU)
	code = NE;
    }
  /* Convert smin (x, -1) into (x < 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == LE)
    {
      cmp_op = const0_rtx;
      code = LT;
    }
  /* Convert smax (x, -1) into (x >= 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == GE)
    cmp_op = const0_rtx;
  else if (cmp_op != const0_rtx)
    cmp_op = operands[2];

  machine_mode cmpmode = SELECT_CC_MODE (code, operands[1], cmp_op);
  rtx flags = gen_rtx_REG (cmpmode, FLAGS_REG);

  rtx tmp = gen_rtx_COMPARE (cmpmode, operands[1], cmp_op);
  emit_insn (gen_rtx_SET (flags, tmp));

  operands[3] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DImode,
	operand3,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21135 */
extern rtx_insn *gen_split_573 (rtx_insn *, rtx *);
rtx_insn *
gen_split_573 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_573 (i386.md:21135)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21150 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode mode = DImode;
  rtx cmp_op = operands[2];

  operands[2] = force_reg (mode, cmp_op);

  enum rtx_code code = LEU;

  if (cmp_op == const1_rtx)
    {
      /* Convert smax (x, 1) into (x > 0 ? x : 1).
	 Convert umax (x, 1) into (x != 0 ? x : 1).
	 Convert ?min (x, 1) into (x <= 0 ? x : 1).  */
      cmp_op = const0_rtx;
      if (code == GE)
	code = GT;
      else if (code == GEU)
	code = NE;
    }
  /* Convert smin (x, -1) into (x < 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == LE)
    {
      cmp_op = const0_rtx;
      code = LT;
    }
  /* Convert smax (x, -1) into (x >= 0 ? x : -1).  */
  else if (cmp_op == constm1_rtx && code == GE)
    cmp_op = const0_rtx;
  else if (cmp_op != const0_rtx)
    cmp_op = operands[2];

  machine_mode cmpmode = SELECT_CC_MODE (code, operands[1], cmp_op);
  rtx flags = gen_rtx_REG (cmpmode, FLAGS_REG);

  rtx tmp = gen_rtx_COMPARE (cmpmode, operands[1], cmp_op);
  emit_insn (gen_rtx_SET (flags, tmp));

  operands[3] = gen_rtx_fmt_ee (code, VOIDmode, flags, const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (DImode,
	operand3,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21192 */
extern rtx_insn *gen_peephole2_124 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_124 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_124 (i386.md:21192)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21198 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_rtx_REG (GET_MODE (operands[0]), FLAGS_REG);
  ix86_expand_clear (operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand0));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21192 */
extern rtx_insn *gen_peephole2_125 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_125 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_125 (i386.md:21192)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21198 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_rtx_REG (GET_MODE (operands[0]), FLAGS_REG);
  ix86_expand_clear (operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand0));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21192 */
extern rtx_insn *gen_peephole2_126 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_126 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_126 (i386.md:21192)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21198 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_rtx_REG (GET_MODE (operands[0]), FLAGS_REG);
  ix86_expand_clear (operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand0));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21192 */
extern rtx_insn *gen_peephole2_127 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_127 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_127 (i386.md:21192)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21198 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[2] = gen_rtx_REG (GET_MODE (operands[0]), FLAGS_REG);
  ix86_expand_clear (operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand0));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21204 */
extern rtx_insn *gen_peephole2_128 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_128 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[0] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_128 (i386.md:21204)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21212 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_clear (operands[0]);
  emit_move_insn (operands[1], operands[0]);
  emit_move_insn (operands[2], operands[0]);
  emit_move_insn (operands[3], operands[0]);
  ix86_last_zero_store_uid
    = INSN_UID (emit_move_insn (operands[4], operands[0]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21204 */
extern rtx_insn *gen_peephole2_129 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_129 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[0] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_129 (i386.md:21204)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21212 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_clear (operands[0]);
  emit_move_insn (operands[1], operands[0]);
  emit_move_insn (operands[2], operands[0]);
  emit_move_insn (operands[3], operands[0]);
  ix86_last_zero_store_uid
    = INSN_UID (emit_move_insn (operands[4], operands[0]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21222 */
extern rtx_insn *gen_peephole2_130 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_130 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[0] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_130 (i386.md:21222)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21228 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_clear (operands[0]);
  emit_move_insn (operands[1], operands[0]);
  ix86_last_zero_store_uid
    = INSN_UID (emit_move_insn (operands[2], operands[0]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21222 */
extern rtx_insn *gen_peephole2_131 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_131 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[0] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_131 (i386.md:21222)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21228 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_clear (operands[0]);
  emit_move_insn (operands[1], operands[0]);
  ix86_last_zero_store_uid
    = INSN_UID (emit_move_insn (operands[2], operands[0]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21236 */
extern rtx_insn *gen_peephole2_132 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_132 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[0] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_132 (i386.md:21236)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21241 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_clear (operands[0]);
  ix86_last_zero_store_uid
    = INSN_UID (emit_move_insn (operands[1], operands[0]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21236 */
extern rtx_insn *gen_peephole2_133 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_133 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[0] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_133 (i386.md:21236)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21241 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_clear (operands[0]);
  ix86_last_zero_store_uid
    = INSN_UID (emit_move_insn (operands[1], operands[0]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21248 */
extern rtx_insn *gen_peephole2_134 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_134 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_134 (i386.md:21248)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21258 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  emit_move_insn (operands[5], operands[0]);
  emit_move_insn (operands[1], operands[0]);
  emit_move_insn (operands[2], operands[0]);
  emit_move_insn (operands[3], operands[0]);
  ix86_last_zero_store_uid
    = INSN_UID (emit_move_insn (operands[4], operands[0]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21248 */
extern rtx_insn *gen_peephole2_135 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_135 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_135 (i386.md:21248)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21258 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  emit_move_insn (operands[5], operands[0]);
  emit_move_insn (operands[1], operands[0]);
  emit_move_insn (operands[2], operands[0]);
  emit_move_insn (operands[3], operands[0]);
  ix86_last_zero_store_uid
    = INSN_UID (emit_move_insn (operands[4], operands[0]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21268 */
extern rtx_insn *gen_peephole2_136 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_136 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_136 (i386.md:21268)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21276 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  emit_move_insn (operands[3], operands[0]);
  emit_move_insn (operands[1], operands[0]);
  ix86_last_zero_store_uid
    = INSN_UID (emit_move_insn (operands[2], operands[0]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21268 */
extern rtx_insn *gen_peephole2_137 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_137 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_137 (i386.md:21268)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21276 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  emit_move_insn (operands[3], operands[0]);
  emit_move_insn (operands[1], operands[0]);
  ix86_last_zero_store_uid
    = INSN_UID (emit_move_insn (operands[2], operands[0]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21284 */
extern rtx_insn *gen_peephole2_138 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_138 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_138 (i386.md:21284)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21291 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  emit_move_insn (operands[2], operands[0]);
  ix86_last_zero_store_uid
    = INSN_UID (emit_move_insn (operands[1], operands[0]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21284 */
extern rtx_insn *gen_peephole2_139 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_139 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_139 (i386.md:21284)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21291 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  emit_move_insn (operands[2], operands[0]);
  ix86_last_zero_store_uid
    = INSN_UID (emit_move_insn (operands[1], operands[0]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21300 */
extern rtx_insn *gen_peephole2_140 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_140 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_140 (i386.md:21300)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21300 */
extern rtx_insn *gen_peephole2_141 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_141 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_141 (i386.md:21300)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21300 */
extern rtx_insn *gen_peephole2_142 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_142 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_142 (i386.md:21300)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21300 */
extern rtx_insn *gen_peephole2_143 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_143 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_143 (i386.md:21300)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21384 */
rtx
gen_allocate_stack (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21388 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx x;

#ifndef CHECK_STACK_LIMIT
#define CHECK_STACK_LIMIT 0
#endif

  if (CHECK_STACK_LIMIT && CONST_INT_P (operands[1])
      && INTVAL (operands[1]) < CHECK_STACK_LIMIT)
    x = operands[1];
  else
    {
      x = copy_to_mode_reg (Pmode, operands[1]);

      emit_insn (gen_allocate_stack_worker_probe (Pmode, x, x));
    }

  x = expand_simple_binop (Pmode, MINUS, stack_pointer_rtx, x,
			   stack_pointer_rtx, 0, OPTAB_DIRECT);

  if (x != stack_pointer_rtx)
    emit_move_insn (stack_pointer_rtx, x);

  emit_move_insn (operands[0], virtual_stack_dynamic_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21415 */
rtx
gen_probe_stack (rtx operand0)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[1];
    operands[0] = operand0;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21418 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  emit_insn (gen_probe_stack_1
	     (word_mode, operands[0], const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
  }
  emit (operand0, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21458 */
rtx
gen_builtin_setjmp_receiver (rtx operand0)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[1];
    operands[0] = operand0;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21461 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
#if TARGET_MACHO
  if (TARGET_MACHO)
    {
      rtx xops[3];
      rtx_code_label *label_rtx = gen_label_rtx ();
      emit_insn (gen_set_got_labelled (pic_offset_table_rtx, label_rtx));
      xops[0] = xops[1] = pic_offset_table_rtx;
      xops[2] = machopic_gen_offset (gen_rtx_LABEL_REF (SImode, label_rtx));
      ix86_expand_binary_operator (MINUS, SImode, xops);
    }
  else
#endif
    emit_insn (gen_set_got (pic_offset_table_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
  }
  emit_insn (gen_rtx_LABEL_REF (VOIDmode,
	operand0));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21478 */
rtx
gen_save_stack_nonlocal (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21482 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx stack_slot;

  if (flag_cf_protection & CF_RETURN)
    {
      /* Copy shadow stack pointer to the first slot
	 and stack pointer to the second slot.  */
      rtx ssp_slot = adjust_address (operands[0], word_mode, 0);
      stack_slot = adjust_address (operands[0], Pmode, UNITS_PER_WORD);

      rtx reg_ssp = force_reg (word_mode, const0_rtx);
      emit_insn (gen_rdssp (word_mode, reg_ssp, reg_ssp));
      emit_move_insn (ssp_slot, reg_ssp);
    }
  else
    stack_slot = adjust_address (operands[0], Pmode, 0);
  emit_move_insn (stack_slot, operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21502 */
rtx
gen_restore_stack_nonlocal (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21506 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx stack_slot;

  if (flag_cf_protection & CF_RETURN)
    {
      /* Restore shadow stack pointer from the first slot
	 and stack pointer from the second slot.  */
      rtx ssp_slot = adjust_address (operands[1], word_mode, 0);
      stack_slot = adjust_address (operands[1], Pmode, UNITS_PER_WORD);

      /* Get the current shadow stack pointer.  The code below will check if
	 SHSTK feature is enabled.  If it is not enabled the RDSSP instruction
	 is a NOP.  */
      rtx reg_ssp = force_reg (word_mode, const0_rtx);
      emit_insn (gen_rdssp (word_mode, reg_ssp, reg_ssp));

      /* Compare through subtraction the saved and the current ssp
	 to decide if ssp has to be adjusted.  */
      reg_ssp = expand_simple_binop (word_mode, MINUS,
				     reg_ssp, ssp_slot,
				     reg_ssp, 1, OPTAB_DIRECT);

      /* Compare and jump over adjustment code.  */
      rtx noadj_label = gen_label_rtx ();
      emit_cmp_and_jump_insns (reg_ssp, const0_rtx, EQ, NULL_RTX,
			       word_mode, 1, noadj_label);

      /* Compute the number of frames to adjust.  */
      rtx reg_adj = gen_lowpart (ptr_mode, reg_ssp);
      rtx reg_adj_neg = expand_simple_unop (ptr_mode, NEG, reg_adj,
					    NULL_RTX, 1);

      reg_adj = expand_simple_binop (ptr_mode, LSHIFTRT, reg_adj_neg,
				     GEN_INT (exact_log2 (UNITS_PER_WORD)),
				     reg_adj, 1, OPTAB_DIRECT);

      /* Check if number of frames <= 255 so no loop is needed.  */
      rtx inc_label = gen_label_rtx ();
      emit_cmp_and_jump_insns (reg_adj, GEN_INT (255), LEU, NULL_RTX,
			       ptr_mode, 1, inc_label);

      /* Adjust the ssp in a loop.  */
      rtx loop_label = gen_label_rtx ();
      emit_label (loop_label);
      LABEL_NUSES (loop_label) = 1;

      rtx reg_255 = force_reg (word_mode, GEN_INT (255));
      emit_insn (gen_incssp (word_mode, reg_255));

      reg_adj = expand_simple_binop (ptr_mode, MINUS,
				     reg_adj, GEN_INT (255),
				     reg_adj, 1, OPTAB_DIRECT);

      /* Compare and jump to the loop label.  */
      emit_cmp_and_jump_insns (reg_adj, GEN_INT (255), GTU, NULL_RTX,
			       ptr_mode, 1, loop_label);

      emit_label (inc_label);
      LABEL_NUSES (inc_label) = 1;

      emit_insn (gen_incssp (word_mode, reg_ssp));

      emit_label (noadj_label);
      LABEL_NUSES (noadj_label) = 1;
    }
  else
    stack_slot = adjust_address (operands[1], Pmode, 0);
  emit_move_insn (operands[0], stack_slot);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21580 */
extern rtx_insn *gen_split_574 (rtx_insn *, rtx *);
rtx_insn *
gen_split_574 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_574 (i386.md:21580)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21597 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
  if (GET_CODE (operands[3]) != ASHIFT)
    operands[2] = gen_lowpart (SImode, operands[2]);
  operands[3] = shallow_copy_rtx (operands[3]);
  PUT_MODE (operands[3], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		operand1,
		operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21610 */
extern rtx_insn *gen_split_575 (rtx_insn *, rtx *);
rtx_insn *
gen_split_575 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_575 (i386.md:21610)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21629 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[4]
    = gen_int_mode (INTVAL (operands[4])
		    & GET_MODE_MASK (GET_MODE (operands[1])), SImode);
  operands[1] = gen_lowpart (SImode, operands[1]);
  operands[3] = gen_lowpart (SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand2), GET_MODE (operand2),
		gen_rtx_AND (SImode,
	operand3,
	operand4),
		const0_rtx)),
		gen_rtx_SET (operand1,
	gen_rtx_AND (SImode,
	copy_rtx (operand3),
	copy_rtx (operand4))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21641 */
extern rtx_insn *gen_split_576 (rtx_insn *, rtx *);
rtx_insn *
gen_split_576 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_576 (i386.md:21641)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21655 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3]
    = gen_int_mode (INTVAL (operands[3])
		    & GET_MODE_MASK (GET_MODE (operands[2])), SImode);
  operands[2] = gen_lowpart (SImode, operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		gen_rtx_AND (SImode,
	operand2,
	operand3),
		const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21662 */
extern rtx_insn *gen_split_577 (rtx_insn *, rtx *);
rtx_insn *
gen_split_577 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_577 (i386.md:21662)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21674 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_NEG (SImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21680 */
extern rtx_insn *gen_split_578 (rtx_insn *, rtx *);
rtx_insn *
gen_split_578 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_578 (i386.md:21680)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21690 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_lowpart (SImode, operands[0]);
  operands[1] = gen_lowpart (SImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NOT (SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21699 */
extern rtx_insn *gen_peephole2_144 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_144 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (1, 1, "q", QImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_144 (i386.md:21699)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	copy_rtx (operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21699 */
extern rtx_insn *gen_peephole2_145 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_145 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (1, 1, "r", HImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_145 (i386.md:21699)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	copy_rtx (operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21699 */
extern rtx_insn *gen_peephole2_146 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_146 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (1, 1, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_146 (i386.md:21699)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	copy_rtx (operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21699 */
extern rtx_insn *gen_peephole2_147 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_147 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (1, 1, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_147 (i386.md:21699)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	copy_rtx (operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21710 */
extern rtx_insn *gen_peephole2_148 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_148 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (1, 1, "r", SFmode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_148 (i386.md:21710)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	copy_rtx (operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21721 */
extern rtx_insn *gen_peephole2_149 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_149 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "q", QImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_149 (i386.md:21721)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21735 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (SImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand2,
	const0_rtx),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21721 */
extern rtx_insn *gen_peephole2_150 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_150 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", HImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_150 (i386.md:21721)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21735 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (SImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand2,
	const0_rtx),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21721 */
extern rtx_insn *gen_peephole2_151 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_151 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_151 (i386.md:21721)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21735 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = gen_lowpart (SImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand2,
	const0_rtx),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21737 */
extern rtx_insn *gen_peephole2_152 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_152 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "q", QImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_152 (i386.md:21737)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	copy_rtx (operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21737 */
extern rtx_insn *gen_peephole2_153 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_153 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "r", HImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_153 (i386.md:21737)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	copy_rtx (operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21737 */
extern rtx_insn *gen_peephole2_154 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_154 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_154 (i386.md:21737)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit_insn (gen_rtx_SET (operand0,
	copy_rtx (operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21750 */
extern rtx_insn *gen_peephole2_155 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_155 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[3] = peep2_find_free_register (1, 1, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_155 (i386.md:21750)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	operand2));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		copy_rtx (operand3),
		const0_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21771 */
extern rtx_insn *gen_peephole2_156 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_156 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_156 (i386.md:21771)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (QImode,
	operand1,
	constm1_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21771 */
extern rtx_insn *gen_peephole2_157 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_157 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_157 (i386.md:21771)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (HImode,
	operand1,
	constm1_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21771 */
extern rtx_insn *gen_peephole2_158 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_158 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_158 (i386.md:21771)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (SImode,
	operand1,
	constm1_rtx)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21792 */
extern rtx_insn *gen_peephole2_159 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_159 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_159 (i386.md:21792)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		gen_rtx_AND (SImode,
	operand2,
	operand3),
		const0_rtx)),
		gen_rtx_SET (copy_rtx (operand2),
	gen_rtx_AND (SImode,
	copy_rtx (operand2),
	copy_rtx (operand3))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21812 */
extern rtx_insn *gen_peephole2_160 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_160 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_160 (i386.md:21812)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		gen_rtx_AND (QImode,
	operand2,
	operand3),
		const0_rtx)),
		gen_rtx_SET (copy_rtx (operand2),
	gen_rtx_AND (QImode,
	copy_rtx (operand2),
	copy_rtx (operand3))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21829 */
extern rtx_insn *gen_peephole2_161 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_161 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_161 (i386.md:21829)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		gen_rtx_AND (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (HImode,
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand3),
		const0_rtx)),
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (HImode,
	copy_rtx (operand2),
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (HImode,
	gen_rtx_AND (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (HImode,
	copy_rtx (operand2),
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	copy_rtx (operand3)),
	0)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21829 */
extern rtx_insn *gen_peephole2_162 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_162 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_162 (i386.md:21829)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		gen_rtx_AND (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (SImode,
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand3),
		const0_rtx)),
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (SImode,
	copy_rtx (operand2),
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (SImode,
	gen_rtx_AND (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (SImode,
	copy_rtx (operand2),
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	copy_rtx (operand3)),
	0)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21829 */
extern rtx_insn *gen_peephole2_163 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_163 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_163 (i386.md:21829)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		gen_rtx_AND (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (DImode,
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand3),
		const0_rtx)),
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (DImode,
	copy_rtx (operand2),
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (DImode,
	gen_rtx_AND (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (DImode,
	copy_rtx (operand2),
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	copy_rtx (operand3)),
	0)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21865 */
extern rtx_insn *gen_peephole2_164 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_164 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "q", QImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_164 (i386.md:21865)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		copy_rtx (operand0),
		copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21865 */
extern rtx_insn *gen_peephole2_165 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_165 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "r", HImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_165 (i386.md:21865)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		copy_rtx (operand0),
		copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21865 */
extern rtx_insn *gen_peephole2_166 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_166 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_166 (i386.md:21865)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		copy_rtx (operand0),
		copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21865 */
extern rtx_insn *gen_peephole2_167 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_167 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_167 (i386.md:21865)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		copy_rtx (operand0),
		copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21878 */
extern rtx_insn *gen_peephole2_168 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_168 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "q", QImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_168 (i386.md:21878)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		copy_rtx (operand2),
		copy_rtx (operand0))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21878 */
extern rtx_insn *gen_peephole2_169 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_169 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "r", HImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_169 (i386.md:21878)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		copy_rtx (operand2),
		copy_rtx (operand0))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21878 */
extern rtx_insn *gen_peephole2_170 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_170 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_170 (i386.md:21878)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		copy_rtx (operand2),
		copy_rtx (operand0))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21878 */
extern rtx_insn *gen_peephole2_171 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_171 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_171 (i386.md:21878)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		copy_rtx (operand2),
		copy_rtx (operand0))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21894 */
extern rtx_insn *gen_peephole2_172 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_172 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_172 (i386.md:21894)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21909 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = replace_rtx (operands[2], operands[0], operands[1], true);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		copy_rtx (operand0),
		operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21894 */
extern rtx_insn *gen_peephole2_173 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_173 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_173 (i386.md:21894)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21909 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = replace_rtx (operands[2], operands[0], operands[1], true);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		copy_rtx (operand0),
		operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21894 */
extern rtx_insn *gen_peephole2_174 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_174 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_174 (i386.md:21894)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21909 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = replace_rtx (operands[2], operands[0], operands[1], true);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		copy_rtx (operand0),
		operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21894 */
extern rtx_insn *gen_peephole2_175 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_175 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_175 (i386.md:21894)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21909 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[4] = replace_rtx (operands[2], operands[0], operands[1], true);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		copy_rtx (operand0),
		operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21911 */
extern rtx_insn *gen_peephole2_176 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_176 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_176 (i386.md:21911)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	operand2));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		copy_rtx (operand0),
		operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21923 */
extern rtx_insn *gen_peephole2_177 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_177 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_177 (i386.md:21923)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	operand2));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		copy_rtx (operand0),
		operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21950 */
extern rtx_insn *gen_peephole2_178 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_178 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "q", QImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_178 (i386.md:21950)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand0));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand2),
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		copy_rtx (operand2),
		operand1)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	copy_rtx (operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21950 */
extern rtx_insn *gen_peephole2_179 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_179 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "r", HImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_179 (i386.md:21950)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand0));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand2),
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		copy_rtx (operand2),
		operand1)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	copy_rtx (operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21950 */
extern rtx_insn *gen_peephole2_180 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_180 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_180 (i386.md:21950)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand0));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand2),
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		copy_rtx (operand2),
		operand1)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	copy_rtx (operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21950 */
extern rtx_insn *gen_peephole2_181 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_181 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_181 (i386.md:21950)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand0));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand2),
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		copy_rtx (operand2),
		operand1)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	copy_rtx (operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21964 */
extern rtx_insn *gen_peephole2_182 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_182 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "q", QImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_182 (i386.md:21964)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand0));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand2),
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		operand1,
		copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	copy_rtx (operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21964 */
extern rtx_insn *gen_peephole2_183 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_183 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "r", HImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_183 (i386.md:21964)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand0));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand2),
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		operand1,
		copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	copy_rtx (operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21964 */
extern rtx_insn *gen_peephole2_184 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_184 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_184 (i386.md:21964)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand0));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand2),
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		operand1,
		copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	copy_rtx (operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21964 */
extern rtx_insn *gen_peephole2_185 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_185 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[2] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_185 (i386.md:21964)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	operand0));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand2),
	gen_rtx_fmt_ee (GET_CODE (operand3), GET_MODE (operand3),
		operand1,
		copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	copy_rtx (operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21980 */
extern rtx_insn *gen_peephole2_186 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_186 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_186 (i386.md:21980)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22003 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[4] = SET_DEST (PATTERN (peep2_next_insn (3)));
  operands[5]
    = gen_rtx_fmt_ee (GET_CODE (operands[3]), GET_MODE (operands[3]),
		      copy_rtx (operands[1]),
		      operands[2]);
  operands[6]
    = gen_rtx_COMPARE (GET_MODE (operands[4]),
		       copy_rtx (operands[5]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	operand6),
		gen_rtx_SET (operand1,
	operand5))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21980 */
extern rtx_insn *gen_peephole2_187 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_187 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_187 (i386.md:21980)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22003 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[4] = SET_DEST (PATTERN (peep2_next_insn (3)));
  operands[5]
    = gen_rtx_fmt_ee (GET_CODE (operands[3]), GET_MODE (operands[3]),
		      copy_rtx (operands[1]),
		      operands[2]);
  operands[6]
    = gen_rtx_COMPARE (GET_MODE (operands[4]),
		       copy_rtx (operands[5]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	operand6),
		gen_rtx_SET (operand1,
	operand5))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21980 */
extern rtx_insn *gen_peephole2_188 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_188 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_188 (i386.md:21980)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22003 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[4] = SET_DEST (PATTERN (peep2_next_insn (3)));
  operands[5]
    = gen_rtx_fmt_ee (GET_CODE (operands[3]), GET_MODE (operands[3]),
		      copy_rtx (operands[1]),
		      operands[2]);
  operands[6]
    = gen_rtx_COMPARE (GET_MODE (operands[4]),
		       copy_rtx (operands[5]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	operand6),
		gen_rtx_SET (operand1,
	operand5))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:21980 */
extern rtx_insn *gen_peephole2_189 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_189 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_189 (i386.md:21980)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22003 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[4] = SET_DEST (PATTERN (peep2_next_insn (3)));
  operands[5]
    = gen_rtx_fmt_ee (GET_CODE (operands[3]), GET_MODE (operands[3]),
		      copy_rtx (operands[1]),
		      operands[2]);
  operands[6]
    = gen_rtx_COMPARE (GET_MODE (operands[4]),
		       copy_rtx (operands[5]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	operand6),
		gen_rtx_SET (operand1,
	operand5))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22016 */
extern rtx_insn *gen_peephole2_190 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_190 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_190 (i386.md:22016)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22036 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[4] = SET_DEST (XVECEXP (PATTERN (peep2_next_insn (1)), 0, 0));
  operands[5]
    = gen_rtx_fmt_ee (GET_CODE (operands[3]), GET_MODE (operands[3]),
		      copy_rtx (operands[1]), operands[2]);
  operands[6]
    = gen_rtx_COMPARE (GET_MODE (operands[4]), copy_rtx (operands[5]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	operand6),
		gen_rtx_SET (operand1,
	operand5))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22016 */
extern rtx_insn *gen_peephole2_191 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_191 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_191 (i386.md:22016)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22036 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[4] = SET_DEST (XVECEXP (PATTERN (peep2_next_insn (1)), 0, 0));
  operands[5]
    = gen_rtx_fmt_ee (GET_CODE (operands[3]), GET_MODE (operands[3]),
		      copy_rtx (operands[1]), operands[2]);
  operands[6]
    = gen_rtx_COMPARE (GET_MODE (operands[4]), copy_rtx (operands[5]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	operand6),
		gen_rtx_SET (operand1,
	operand5))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22016 */
extern rtx_insn *gen_peephole2_192 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_192 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_192 (i386.md:22016)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22036 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[4] = SET_DEST (XVECEXP (PATTERN (peep2_next_insn (1)), 0, 0));
  operands[5]
    = gen_rtx_fmt_ee (GET_CODE (operands[3]), GET_MODE (operands[3]),
		      copy_rtx (operands[1]), operands[2]);
  operands[6]
    = gen_rtx_COMPARE (GET_MODE (operands[4]), copy_rtx (operands[5]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	operand6),
		gen_rtx_SET (operand1,
	operand5))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22016 */
extern rtx_insn *gen_peephole2_193 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_193 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_193 (i386.md:22016)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22036 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[4] = SET_DEST (XVECEXP (PATTERN (peep2_next_insn (1)), 0, 0));
  operands[5]
    = gen_rtx_fmt_ee (GET_CODE (operands[3]), GET_MODE (operands[3]),
		      copy_rtx (operands[1]), operands[2]);
  operands[6]
    = gen_rtx_COMPARE (GET_MODE (operands[4]), copy_rtx (operands[5]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand4,
	operand6),
		gen_rtx_SET (operand1,
	operand5))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22047 */
extern rtx_insn *gen_peephole2_194 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_194 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_194 (i386.md:22047)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22070 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[6] = SET_DEST (PATTERN (peep2_next_insn (3)));
  operands[7]
    = gen_rtx_PLUS (QImode,
		    copy_rtx (operands[1]),
		    gen_lowpart (QImode, operands[2]));
  operands[8]
    = gen_rtx_COMPARE (GET_MODE (operands[6]),
		       copy_rtx (operands[7]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand6,
	operand8),
		gen_rtx_SET (operand1,
	operand7))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22047 */
extern rtx_insn *gen_peephole2_195 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_195 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_195 (i386.md:22047)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22070 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[6] = SET_DEST (PATTERN (peep2_next_insn (3)));
  operands[7]
    = gen_rtx_PLUS (HImode,
		    copy_rtx (operands[1]),
		    gen_lowpart (HImode, operands[2]));
  operands[8]
    = gen_rtx_COMPARE (GET_MODE (operands[6]),
		       copy_rtx (operands[7]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand6,
	operand8),
		gen_rtx_SET (operand1,
	operand7))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22047 */
extern rtx_insn *gen_peephole2_196 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_196 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_196 (i386.md:22047)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22070 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[6] = SET_DEST (PATTERN (peep2_next_insn (3)));
  operands[7]
    = gen_rtx_PLUS (SImode,
		    copy_rtx (operands[1]),
		    gen_lowpart (SImode, operands[2]));
  operands[8]
    = gen_rtx_COMPARE (GET_MODE (operands[6]),
		       copy_rtx (operands[7]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand6,
	operand8),
		gen_rtx_SET (operand1,
	operand7))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22047 */
extern rtx_insn *gen_peephole2_197 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_197 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_197 (i386.md:22047)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22070 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[6] = SET_DEST (PATTERN (peep2_next_insn (3)));
  operands[7]
    = gen_rtx_PLUS (DImode,
		    copy_rtx (operands[1]),
		    gen_lowpart (DImode, operands[2]));
  operands[8]
    = gen_rtx_COMPARE (GET_MODE (operands[6]),
		       copy_rtx (operands[7]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand6,
	operand8),
		gen_rtx_SET (operand1,
	operand7))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22082 */
extern rtx_insn *gen_peephole2_198 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_198 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_198 (i386.md:22082)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22099 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3] = SET_DEST (PATTERN (peep2_next_insn (2)));
  operands[4]
    = gen_rtx_fmt_ee (GET_CODE (operands[2]), GET_MODE (operands[2]),
		      copy_rtx (operands[1]),
		      operands[0]);
  operands[5]
    = gen_rtx_COMPARE (GET_MODE (operands[3]),
		       copy_rtx (operands[4]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand3,
	operand5),
		gen_rtx_SET (operand1,
	operand4))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22082 */
extern rtx_insn *gen_peephole2_199 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_199 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_199 (i386.md:22082)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22099 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3] = SET_DEST (PATTERN (peep2_next_insn (2)));
  operands[4]
    = gen_rtx_fmt_ee (GET_CODE (operands[2]), GET_MODE (operands[2]),
		      copy_rtx (operands[1]),
		      operands[0]);
  operands[5]
    = gen_rtx_COMPARE (GET_MODE (operands[3]),
		       copy_rtx (operands[4]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand3,
	operand5),
		gen_rtx_SET (operand1,
	operand4))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22082 */
extern rtx_insn *gen_peephole2_200 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_200 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_200 (i386.md:22082)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22099 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3] = SET_DEST (PATTERN (peep2_next_insn (2)));
  operands[4]
    = gen_rtx_fmt_ee (GET_CODE (operands[2]), GET_MODE (operands[2]),
		      copy_rtx (operands[1]),
		      operands[0]);
  operands[5]
    = gen_rtx_COMPARE (GET_MODE (operands[3]),
		       copy_rtx (operands[4]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand3,
	operand5),
		gen_rtx_SET (operand1,
	operand4))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22082 */
extern rtx_insn *gen_peephole2_201 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_201 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_201 (i386.md:22082)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22099 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3] = SET_DEST (PATTERN (peep2_next_insn (2)));
  operands[4]
    = gen_rtx_fmt_ee (GET_CODE (operands[2]), GET_MODE (operands[2]),
		      copy_rtx (operands[1]),
		      operands[0]);
  operands[5]
    = gen_rtx_COMPARE (GET_MODE (operands[3]),
		       copy_rtx (operands[4]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand3,
	operand5),
		gen_rtx_SET (operand1,
	operand4))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22112 */
extern rtx_insn *gen_peephole2_202 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_202 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_202 (i386.md:22112)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22129 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3] = SET_DEST (XVECEXP (PATTERN (peep2_next_insn (0)), 0, 0));
  operands[4]
    = gen_rtx_fmt_ee (GET_CODE (operands[2]), GET_MODE (operands[2]),
		      copy_rtx (operands[1]), operands[0]);
  operands[5]
    = gen_rtx_COMPARE (GET_MODE (operands[3]), copy_rtx (operands[4]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand3,
	operand5),
		gen_rtx_SET (operand1,
	operand4))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22112 */
extern rtx_insn *gen_peephole2_203 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_203 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_203 (i386.md:22112)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22129 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3] = SET_DEST (XVECEXP (PATTERN (peep2_next_insn (0)), 0, 0));
  operands[4]
    = gen_rtx_fmt_ee (GET_CODE (operands[2]), GET_MODE (operands[2]),
		      copy_rtx (operands[1]), operands[0]);
  operands[5]
    = gen_rtx_COMPARE (GET_MODE (operands[3]), copy_rtx (operands[4]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand3,
	operand5),
		gen_rtx_SET (operand1,
	operand4))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22112 */
extern rtx_insn *gen_peephole2_204 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_204 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_204 (i386.md:22112)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22129 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3] = SET_DEST (XVECEXP (PATTERN (peep2_next_insn (0)), 0, 0));
  operands[4]
    = gen_rtx_fmt_ee (GET_CODE (operands[2]), GET_MODE (operands[2]),
		      copy_rtx (operands[1]), operands[0]);
  operands[5]
    = gen_rtx_COMPARE (GET_MODE (operands[3]), copy_rtx (operands[4]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand3,
	operand5),
		gen_rtx_SET (operand1,
	operand4))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22112 */
extern rtx_insn *gen_peephole2_205 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_205 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_205 (i386.md:22112)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22129 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[3] = SET_DEST (XVECEXP (PATTERN (peep2_next_insn (0)), 0, 0));
  operands[4]
    = gen_rtx_fmt_ee (GET_CODE (operands[2]), GET_MODE (operands[2]),
		      copy_rtx (operands[1]), operands[0]);
  operands[5]
    = gen_rtx_COMPARE (GET_MODE (operands[3]), copy_rtx (operands[4]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand3,
	operand5),
		gen_rtx_SET (operand1,
	operand4))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22139 */
extern rtx_insn *gen_peephole2_206 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_206 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_206 (i386.md:22139)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22163 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = SET_DEST (PATTERN (peep2_next_insn (3)));
  operands[6]
    = gen_rtx_fmt_ee (GET_CODE (operands[3]), QImode,
		      copy_rtx (operands[1]),
		      gen_lowpart (QImode, operands[2]));
  operands[7]
    = gen_rtx_COMPARE (GET_MODE (operands[5]),
		       copy_rtx (operands[6]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand5,
	operand7),
		gen_rtx_SET (operand1,
	operand6))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22139 */
extern rtx_insn *gen_peephole2_207 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_207 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_207 (i386.md:22139)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22163 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = SET_DEST (PATTERN (peep2_next_insn (3)));
  operands[6]
    = gen_rtx_fmt_ee (GET_CODE (operands[3]), HImode,
		      copy_rtx (operands[1]),
		      gen_lowpart (HImode, operands[2]));
  operands[7]
    = gen_rtx_COMPARE (GET_MODE (operands[5]),
		       copy_rtx (operands[6]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand5,
	operand7),
		gen_rtx_SET (operand1,
	operand6))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22177 */
extern rtx_insn *gen_peephole2_208 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_208 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_208 (i386.md:22177)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22203 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = SET_DEST (PATTERN (peep2_next_insn (4)));
  operands[6]
    = gen_rtx_fmt_ee (GET_CODE (operands[3]), GET_MODE (operands[3]),
		      copy_rtx (operands[1]),
		      operands[2]);
  operands[7]
    = gen_rtx_COMPARE (GET_MODE (operands[5]),
		       copy_rtx (operands[6]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand5,
	operand7),
		gen_rtx_SET (operand1,
	operand6))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22177 */
extern rtx_insn *gen_peephole2_209 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_209 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_209 (i386.md:22177)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22203 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = SET_DEST (PATTERN (peep2_next_insn (4)));
  operands[6]
    = gen_rtx_fmt_ee (GET_CODE (operands[3]), GET_MODE (operands[3]),
		      copy_rtx (operands[1]),
		      operands[2]);
  operands[7]
    = gen_rtx_COMPARE (GET_MODE (operands[5]),
		       copy_rtx (operands[6]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand5,
	operand7),
		gen_rtx_SET (operand1,
	operand6))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22177 */
extern rtx_insn *gen_peephole2_210 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_210 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_210 (i386.md:22177)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22203 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = SET_DEST (PATTERN (peep2_next_insn (4)));
  operands[6]
    = gen_rtx_fmt_ee (GET_CODE (operands[3]), GET_MODE (operands[3]),
		      copy_rtx (operands[1]),
		      operands[2]);
  operands[7]
    = gen_rtx_COMPARE (GET_MODE (operands[5]),
		       copy_rtx (operands[6]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand5,
	operand7),
		gen_rtx_SET (operand1,
	operand6))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22177 */
extern rtx_insn *gen_peephole2_211 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_211 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_211 (i386.md:22177)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22203 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = SET_DEST (PATTERN (peep2_next_insn (4)));
  operands[6]
    = gen_rtx_fmt_ee (GET_CODE (operands[3]), GET_MODE (operands[3]),
		      copy_rtx (operands[1]),
		      operands[2]);
  operands[7]
    = gen_rtx_COMPARE (GET_MODE (operands[5]),
		       copy_rtx (operands[6]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand5,
	operand7),
		gen_rtx_SET (operand1,
	operand6))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22215 */
extern rtx_insn *gen_peephole2_212 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_212 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_212 (i386.md:22215)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22242 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[6] = SET_DEST (PATTERN (peep2_next_insn (4)));
  operands[7]
    = gen_rtx_fmt_ee (GET_CODE (operands[3]), QImode,
		      copy_rtx (operands[1]),
		      gen_lowpart (QImode, operands[2]));
  operands[8]
    = gen_rtx_COMPARE (GET_MODE (operands[6]),
		       copy_rtx (operands[7]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand6,
	operand8),
		gen_rtx_SET (operand1,
	operand7))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22215 */
extern rtx_insn *gen_peephole2_213 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_213 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_213 (i386.md:22215)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22242 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[6] = SET_DEST (PATTERN (peep2_next_insn (4)));
  operands[7]
    = gen_rtx_fmt_ee (GET_CODE (operands[3]), HImode,
		      copy_rtx (operands[1]),
		      gen_lowpart (HImode, operands[2]));
  operands[8]
    = gen_rtx_COMPARE (GET_MODE (operands[6]),
		       copy_rtx (operands[7]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand6,
	operand8),
		gen_rtx_SET (operand1,
	operand7))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22255 */
extern rtx_insn *gen_peephole2_214 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_214 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_214 (i386.md:22255)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22278 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = SET_DEST (XVECEXP (PATTERN (peep2_next_insn (1)), 0, 0));
  operands[6]
    = gen_rtx_fmt_ee (GET_CODE (operands[3]), GET_MODE (operands[3]),
		      copy_rtx (operands[1]), operands[2]);
  operands[7]
    = gen_rtx_COMPARE (GET_MODE (operands[5]), copy_rtx (operands[6]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand5,
	operand7),
		gen_rtx_SET (operand1,
	operand6))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22255 */
extern rtx_insn *gen_peephole2_215 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_215 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_215 (i386.md:22255)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22278 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = SET_DEST (XVECEXP (PATTERN (peep2_next_insn (1)), 0, 0));
  operands[6]
    = gen_rtx_fmt_ee (GET_CODE (operands[3]), GET_MODE (operands[3]),
		      copy_rtx (operands[1]), operands[2]);
  operands[7]
    = gen_rtx_COMPARE (GET_MODE (operands[5]), copy_rtx (operands[6]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand5,
	operand7),
		gen_rtx_SET (operand1,
	operand6))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22255 */
extern rtx_insn *gen_peephole2_216 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_216 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_216 (i386.md:22255)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22278 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = SET_DEST (XVECEXP (PATTERN (peep2_next_insn (1)), 0, 0));
  operands[6]
    = gen_rtx_fmt_ee (GET_CODE (operands[3]), GET_MODE (operands[3]),
		      copy_rtx (operands[1]), operands[2]);
  operands[7]
    = gen_rtx_COMPARE (GET_MODE (operands[5]), copy_rtx (operands[6]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand5,
	operand7),
		gen_rtx_SET (operand1,
	operand6))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22255 */
extern rtx_insn *gen_peephole2_217 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_217 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_217 (i386.md:22255)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22278 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[5] = SET_DEST (XVECEXP (PATTERN (peep2_next_insn (1)), 0, 0));
  operands[6]
    = gen_rtx_fmt_ee (GET_CODE (operands[3]), GET_MODE (operands[3]),
		      copy_rtx (operands[1]), operands[2]);
  operands[7]
    = gen_rtx_COMPARE (GET_MODE (operands[5]), copy_rtx (operands[6]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand5,
	operand7),
		gen_rtx_SET (operand1,
	operand6))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22290 */
extern rtx_insn *gen_peephole2_218 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_218 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_218 (i386.md:22290)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22324 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[7] = SET_DEST (PATTERN (peep2_next_insn (4)));
  operands[8] = gen_rtx_XOR (QImode, copy_rtx (operands[1]),
			     operands[2]);
  operands[9]
    = gen_rtx_COMPARE (GET_MODE (operands[7]),
		       copy_rtx (operands[8]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand7,
	operand9),
		gen_rtx_SET (operand1,
	operand8))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22290 */
extern rtx_insn *gen_peephole2_219 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_219 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_219 (i386.md:22290)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22324 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[7] = SET_DEST (PATTERN (peep2_next_insn (4)));
  operands[8] = gen_rtx_XOR (HImode, copy_rtx (operands[1]),
			     operands[2]);
  operands[9]
    = gen_rtx_COMPARE (GET_MODE (operands[7]),
		       copy_rtx (operands[8]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand7,
	operand9),
		gen_rtx_SET (operand1,
	operand8))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22290 */
extern rtx_insn *gen_peephole2_220 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_220 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_220 (i386.md:22290)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22324 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[7] = SET_DEST (PATTERN (peep2_next_insn (4)));
  operands[8] = gen_rtx_XOR (SImode, copy_rtx (operands[1]),
			     operands[2]);
  operands[9]
    = gen_rtx_COMPARE (GET_MODE (operands[7]),
		       copy_rtx (operands[8]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand7,
	operand9),
		gen_rtx_SET (operand1,
	operand8))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22290 */
extern rtx_insn *gen_peephole2_221 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_221 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_221 (i386.md:22290)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22324 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[7] = SET_DEST (PATTERN (peep2_next_insn (4)));
  operands[8] = gen_rtx_XOR (DImode, copy_rtx (operands[1]),
			     operands[2]);
  operands[9]
    = gen_rtx_COMPARE (GET_MODE (operands[7]),
		       copy_rtx (operands[8]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand7,
	operand9),
		gen_rtx_SET (operand1,
	operand8))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22334 */
extern rtx_insn *gen_peephole2_222 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_222 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx operand10;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_222 (i386.md:22334)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22372 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[8] = SET_DEST (PATTERN (peep2_next_insn (4)));
  operands[9] = gen_rtx_XOR (QImode, copy_rtx (operands[1]),
			     gen_lowpart (QImode, operands[2]));
  operands[10]
    = gen_rtx_COMPARE (GET_MODE (operands[8]),
		       copy_rtx (operands[9]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  operand10 = operands[10];
  (void) operand10;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand8,
	operand10),
		gen_rtx_SET (operand1,
	operand9))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22334 */
extern rtx_insn *gen_peephole2_223 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_223 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx operand9;
  rtx operand10;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_223 (i386.md:22334)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22372 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[8] = SET_DEST (PATTERN (peep2_next_insn (4)));
  operands[9] = gen_rtx_XOR (HImode, copy_rtx (operands[1]),
			     gen_lowpart (HImode, operands[2]));
  operands[10]
    = gen_rtx_COMPARE (GET_MODE (operands[8]),
		       copy_rtx (operands[9]),
		       const0_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  operand8 = operands[8];
  (void) operand8;
  operand9 = operands[9];
  (void) operand9;
  operand10 = operands[10];
  (void) operand10;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand8,
	operand10),
		gen_rtx_SET (operand1,
	operand9))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22384 */
extern rtx_insn *gen_peephole2_224 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_224 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_224 (i386.md:22384)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22395 */
extern rtx_insn *gen_peephole2_225 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_225 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_225 (i386.md:22395)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22403 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[0] = gen_lowpart (word_mode, operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	const0_rtx),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22405 */
extern rtx_insn *gen_peephole2_226 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_226 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_226 (i386.md:22405)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	const0_rtx),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22405 */
extern rtx_insn *gen_peephole2_227 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_227 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_227 (i386.md:22405)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	const0_rtx),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22414 */
extern rtx_insn *gen_peephole2_228 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_228 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_228 (i386.md:22414)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (2 < GET_MODE_SIZE (SImode))
    operands[0] = gen_lowpart (SImode, operands[0]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	constm1_rtx),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22414 */
extern rtx_insn *gen_peephole2_229 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_229 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_229 (i386.md:22414)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (4 < GET_MODE_SIZE (SImode))
    operands[0] = gen_lowpart (SImode, operands[0]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	constm1_rtx),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22414 */
extern rtx_insn *gen_peephole2_230 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_230 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_230 (i386.md:22414)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (8 < GET_MODE_SIZE (SImode))
    operands[0] = gen_lowpart (SImode, operands[0]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	constm1_rtx),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22431 */
extern rtx_insn *gen_peephole2_231 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_231 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_231 (i386.md:22431)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	copy_rtx (operand0),
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22431 */
extern rtx_insn *gen_peephole2_232 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_232 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_232 (i386.md:22431)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	copy_rtx (operand0),
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22440 */
extern rtx_insn *gen_peephole2_233 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_233 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_233 (i386.md:22440)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	copy_rtx (operand0),
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22440 */
extern rtx_insn *gen_peephole2_234 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_234 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_234 (i386.md:22440)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	copy_rtx (operand0),
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22449 */
extern rtx_insn *gen_peephole2_235 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_235 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_235 (i386.md:22449)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_PLUS (SImode,
	operand1,
	operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22461 */
extern rtx_insn *gen_peephole2_236 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_236 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_236 (i386.md:22461)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_PLUS (SImode,
	operand2,
	operand1))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22473 */
extern rtx_insn *gen_peephole2_237 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_237 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_237 (i386.md:22473)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22481 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[1] = GEN_INT (exact_log2 (INTVAL (operands[1])));
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (SImode,
	copy_rtx (operand0),
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22473 */
extern rtx_insn *gen_peephole2_238 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_238 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_238 (i386.md:22473)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22481 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[1] = GEN_INT (exact_log2 (INTVAL (operands[1])));
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (DImode,
	copy_rtx (operand0),
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22483 */
extern rtx_insn *gen_peephole2_239 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_239 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_239 (i386.md:22483)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22495 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = GEN_INT (exact_log2 (INTVAL (operands[2])));
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_ASHIFT (SImode,
	operand1,
	operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22517 */
extern rtx_insn *gen_peephole2_240 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_240 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_240 (i386.md:22517)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_CLOBBER (VOIDmode,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (SImode,
	gen_rtx_PRE_DEC (SImode,
	gen_rtx_REG (SImode,
	7))),
	copy_rtx (operand1)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22517 */
extern rtx_insn *gen_peephole2_241 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_241 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_241 (i386.md:22517)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_CLOBBER (VOIDmode,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (DImode,
	gen_rtx_PRE_DEC (SImode,
	gen_rtx_REG (SImode,
	7))),
	copy_rtx (operand1)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22517 */
extern rtx_insn *gen_peephole2_242 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_242 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_242 (i386.md:22517)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_CLOBBER (VOIDmode,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (SImode,
	gen_rtx_PRE_DEC (DImode,
	gen_rtx_REG (DImode,
	7))),
	copy_rtx (operand1)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22517 */
extern rtx_insn *gen_peephole2_243 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_243 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_243 (i386.md:22517)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_CLOBBER (VOIDmode,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (DImode,
	gen_rtx_PRE_DEC (DImode,
	gen_rtx_REG (DImode,
	7))),
	copy_rtx (operand1)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22531 */
extern rtx_insn *gen_peephole2_244 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_244 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_244 (i386.md:22531)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_CLOBBER (VOIDmode,
	operand1));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (SImode,
	gen_rtx_PRE_DEC (SImode,
	gen_rtx_REG (SImode,
	7))),
	copy_rtx (operand1)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (SImode,
	gen_rtx_PRE_DEC (SImode,
	gen_rtx_REG (SImode,
	7))),
	copy_rtx (operand1)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22531 */
extern rtx_insn *gen_peephole2_245 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_245 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_245 (i386.md:22531)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_CLOBBER (VOIDmode,
	operand1));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (DImode,
	gen_rtx_PRE_DEC (SImode,
	gen_rtx_REG (SImode,
	7))),
	copy_rtx (operand1)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (DImode,
	gen_rtx_PRE_DEC (SImode,
	gen_rtx_REG (SImode,
	7))),
	copy_rtx (operand1)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22531 */
extern rtx_insn *gen_peephole2_246 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_246 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_246 (i386.md:22531)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_CLOBBER (VOIDmode,
	operand1));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (SImode,
	gen_rtx_PRE_DEC (DImode,
	gen_rtx_REG (DImode,
	7))),
	copy_rtx (operand1)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (SImode,
	gen_rtx_PRE_DEC (DImode,
	gen_rtx_REG (DImode,
	7))),
	copy_rtx (operand1)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22531 */
extern rtx_insn *gen_peephole2_247 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_247 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_247 (i386.md:22531)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_CLOBBER (VOIDmode,
	operand1));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (DImode,
	gen_rtx_PRE_DEC (DImode,
	gen_rtx_REG (DImode,
	7))),
	copy_rtx (operand1)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (DImode,
	gen_rtx_PRE_DEC (DImode,
	gen_rtx_REG (DImode,
	7))),
	copy_rtx (operand1)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22547 */
extern rtx_insn *gen_peephole2_248 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_248 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_248 (i386.md:22547)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_CLOBBER (VOIDmode,
	operand1));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (SImode,
	gen_rtx_PRE_DEC (SImode,
	gen_rtx_REG (SImode,
	7))),
	copy_rtx (operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22547 */
extern rtx_insn *gen_peephole2_249 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_249 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_249 (i386.md:22547)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_CLOBBER (VOIDmode,
	operand1));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (DImode,
	gen_rtx_PRE_DEC (SImode,
	gen_rtx_REG (SImode,
	7))),
	copy_rtx (operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22547 */
extern rtx_insn *gen_peephole2_250 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_250 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_250 (i386.md:22547)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_CLOBBER (VOIDmode,
	operand1));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (SImode,
	gen_rtx_PRE_DEC (DImode,
	gen_rtx_REG (DImode,
	7))),
	copy_rtx (operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22547 */
extern rtx_insn *gen_peephole2_251 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_251 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_251 (i386.md:22547)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_CLOBBER (VOIDmode,
	operand1));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (DImode,
	gen_rtx_PRE_DEC (DImode,
	gen_rtx_REG (DImode,
	7))),
	copy_rtx (operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22559 */
extern rtx_insn *gen_peephole2_252 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_252 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_252 (i386.md:22559)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_CLOBBER (VOIDmode,
	operand1));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (SImode,
	gen_rtx_PRE_DEC (SImode,
	gen_rtx_REG (SImode,
	7))),
	copy_rtx (operand1)));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (SImode,
	gen_rtx_PRE_DEC (SImode,
	gen_rtx_REG (SImode,
	7))),
	copy_rtx (operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22559 */
extern rtx_insn *gen_peephole2_253 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_253 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_253 (i386.md:22559)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_CLOBBER (VOIDmode,
	operand1));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (DImode,
	gen_rtx_PRE_DEC (SImode,
	gen_rtx_REG (SImode,
	7))),
	copy_rtx (operand1)));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (DImode,
	gen_rtx_PRE_DEC (SImode,
	gen_rtx_REG (SImode,
	7))),
	copy_rtx (operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22559 */
extern rtx_insn *gen_peephole2_254 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_254 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_254 (i386.md:22559)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_CLOBBER (VOIDmode,
	operand1));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (SImode,
	gen_rtx_PRE_DEC (DImode,
	gen_rtx_REG (DImode,
	7))),
	copy_rtx (operand1)));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (SImode,
	gen_rtx_PRE_DEC (DImode,
	gen_rtx_REG (DImode,
	7))),
	copy_rtx (operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22559 */
extern rtx_insn *gen_peephole2_255 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_255 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_255 (i386.md:22559)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_CLOBBER (VOIDmode,
	operand1));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (DImode,
	gen_rtx_PRE_DEC (DImode,
	gen_rtx_REG (DImode,
	7))),
	copy_rtx (operand1)));
  emit_insn (gen_rtx_SET (gen_rtx_MEM (DImode,
	gen_rtx_PRE_DEC (DImode,
	gen_rtx_REG (DImode,
	7))),
	copy_rtx (operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22573 */
extern rtx_insn *gen_peephole2_256 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_256 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_256 (i386.md:22573)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	gen_rtx_MEM (SImode,
	gen_rtx_POST_INC (SImode,
	gen_rtx_REG (SImode,
	7)))),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22573 */
extern rtx_insn *gen_peephole2_257 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_257 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_257 (i386.md:22573)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	gen_rtx_MEM (DImode,
	gen_rtx_POST_INC (SImode,
	gen_rtx_REG (SImode,
	7)))),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22573 */
extern rtx_insn *gen_peephole2_258 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_258 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_258 (i386.md:22573)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	gen_rtx_MEM (SImode,
	gen_rtx_POST_INC (DImode,
	gen_rtx_REG (DImode,
	7)))),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22573 */
extern rtx_insn *gen_peephole2_259 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_259 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_259 (i386.md:22573)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	gen_rtx_MEM (DImode,
	gen_rtx_POST_INC (DImode,
	gen_rtx_REG (DImode,
	7)))),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22587 */
extern rtx_insn *gen_peephole2_260 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_260 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if ((operands[2] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_260 (i386.md:22587)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	gen_rtx_MEM (SImode,
	gen_rtx_POST_INC (SImode,
	gen_rtx_REG (SImode,
	7)))),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), true);
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_MEM (SImode,
	gen_rtx_POST_INC (SImode,
	gen_rtx_REG (SImode,
	7)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22587 */
extern rtx_insn *gen_peephole2_261 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_261 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if ((operands[2] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_261 (i386.md:22587)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	gen_rtx_MEM (DImode,
	gen_rtx_POST_INC (SImode,
	gen_rtx_REG (SImode,
	7)))),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), true);
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_MEM (DImode,
	gen_rtx_POST_INC (SImode,
	gen_rtx_REG (SImode,
	7)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22587 */
extern rtx_insn *gen_peephole2_262 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_262 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if ((operands[2] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_262 (i386.md:22587)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	gen_rtx_MEM (SImode,
	gen_rtx_POST_INC (DImode,
	gen_rtx_REG (DImode,
	7)))),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), true);
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_MEM (SImode,
	gen_rtx_POST_INC (DImode,
	gen_rtx_REG (DImode,
	7)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22587 */
extern rtx_insn *gen_peephole2_263 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_263 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if ((operands[2] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_263 (i386.md:22587)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	gen_rtx_MEM (DImode,
	gen_rtx_POST_INC (DImode,
	gen_rtx_REG (DImode,
	7)))),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), true);
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_MEM (DImode,
	gen_rtx_POST_INC (DImode,
	gen_rtx_REG (DImode,
	7)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22601 */
extern rtx_insn *gen_peephole2_264 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_264 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_264 (i386.md:22601)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	gen_rtx_MEM (SImode,
	gen_rtx_POST_INC (SImode,
	gen_rtx_REG (SImode,
	7)))),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), true);
  emit_insn (gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_MEM (SImode,
	gen_rtx_POST_INC (SImode,
	gen_rtx_REG (SImode,
	7)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22601 */
extern rtx_insn *gen_peephole2_265 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_265 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_265 (i386.md:22601)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	gen_rtx_MEM (DImode,
	gen_rtx_POST_INC (SImode,
	gen_rtx_REG (SImode,
	7)))),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), true);
  emit_insn (gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_MEM (DImode,
	gen_rtx_POST_INC (SImode,
	gen_rtx_REG (SImode,
	7)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22601 */
extern rtx_insn *gen_peephole2_266 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_266 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_266 (i386.md:22601)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	gen_rtx_MEM (SImode,
	gen_rtx_POST_INC (DImode,
	gen_rtx_REG (DImode,
	7)))),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), true);
  emit_insn (gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_MEM (SImode,
	gen_rtx_POST_INC (DImode,
	gen_rtx_REG (DImode,
	7)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22601 */
extern rtx_insn *gen_peephole2_267 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_267 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_267 (i386.md:22601)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand1,
	gen_rtx_MEM (DImode,
	gen_rtx_POST_INC (DImode,
	gen_rtx_REG (DImode,
	7)))),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode))))), true);
  emit_insn (gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_MEM (DImode,
	gen_rtx_POST_INC (DImode,
	gen_rtx_REG (DImode,
	7)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22615 */
extern rtx_insn *gen_peephole2_268 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_268 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_268 (i386.md:22615)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand1,
	gen_rtx_MEM (SImode,
	gen_rtx_POST_INC (SImode,
	gen_rtx_REG (SImode,
	7)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22615 */
extern rtx_insn *gen_peephole2_269 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_269 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_269 (i386.md:22615)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand1,
	gen_rtx_MEM (DImode,
	gen_rtx_POST_INC (SImode,
	gen_rtx_REG (SImode,
	7)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22615 */
extern rtx_insn *gen_peephole2_270 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_270 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_270 (i386.md:22615)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand1,
	gen_rtx_MEM (SImode,
	gen_rtx_POST_INC (DImode,
	gen_rtx_REG (DImode,
	7)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22615 */
extern rtx_insn *gen_peephole2_271 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_271 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_271 (i386.md:22615)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand1,
	gen_rtx_MEM (DImode,
	gen_rtx_POST_INC (DImode,
	gen_rtx_REG (DImode,
	7)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22626 */
extern rtx_insn *gen_peephole2_272 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_272 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if ((operands[2] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_272 (i386.md:22626)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand1,
	gen_rtx_MEM (SImode,
	gen_rtx_POST_INC (SImode,
	gen_rtx_REG (SImode,
	7)))));
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_MEM (SImode,
	gen_rtx_POST_INC (SImode,
	gen_rtx_REG (SImode,
	7)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22626 */
extern rtx_insn *gen_peephole2_273 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_273 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if ((operands[2] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_273 (i386.md:22626)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand1,
	gen_rtx_MEM (DImode,
	gen_rtx_POST_INC (SImode,
	gen_rtx_REG (SImode,
	7)))));
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_MEM (DImode,
	gen_rtx_POST_INC (SImode,
	gen_rtx_REG (SImode,
	7)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22626 */
extern rtx_insn *gen_peephole2_274 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_274 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if ((operands[2] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_274 (i386.md:22626)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand1,
	gen_rtx_MEM (SImode,
	gen_rtx_POST_INC (DImode,
	gen_rtx_REG (DImode,
	7)))));
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_MEM (SImode,
	gen_rtx_POST_INC (DImode,
	gen_rtx_REG (DImode,
	7)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22626 */
extern rtx_insn *gen_peephole2_275 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_275 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if ((operands[2] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_275 (i386.md:22626)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand1,
	gen_rtx_MEM (DImode,
	gen_rtx_POST_INC (DImode,
	gen_rtx_REG (DImode,
	7)))));
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_MEM (DImode,
	gen_rtx_POST_INC (DImode,
	gen_rtx_REG (DImode,
	7)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22637 */
extern rtx_insn *gen_peephole2_276 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_276 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_276 (i386.md:22637)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand1,
	gen_rtx_MEM (SImode,
	gen_rtx_POST_INC (SImode,
	gen_rtx_REG (SImode,
	7)))));
  emit_insn (gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_MEM (SImode,
	gen_rtx_POST_INC (SImode,
	gen_rtx_REG (SImode,
	7)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22637 */
extern rtx_insn *gen_peephole2_277 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_277 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_277 (i386.md:22637)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand1,
	gen_rtx_MEM (DImode,
	gen_rtx_POST_INC (SImode,
	gen_rtx_REG (SImode,
	7)))));
  emit_insn (gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_MEM (DImode,
	gen_rtx_POST_INC (SImode,
	gen_rtx_REG (SImode,
	7)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22637 */
extern rtx_insn *gen_peephole2_278 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_278 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_278 (i386.md:22637)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand1,
	gen_rtx_MEM (SImode,
	gen_rtx_POST_INC (DImode,
	gen_rtx_REG (DImode,
	7)))));
  emit_insn (gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_MEM (SImode,
	gen_rtx_POST_INC (DImode,
	gen_rtx_REG (DImode,
	7)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22637 */
extern rtx_insn *gen_peephole2_279 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_279 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[1] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_279 (i386.md:22637)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand1,
	gen_rtx_MEM (DImode,
	gen_rtx_POST_INC (DImode,
	gen_rtx_REG (DImode,
	7)))));
  emit_insn (gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_MEM (DImode,
	gen_rtx_POST_INC (DImode,
	gen_rtx_REG (DImode,
	7)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22650 */
extern rtx_insn *gen_peephole2_280 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_280 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_280 (i386.md:22650)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), GET_MODE (operand1),
		operand2,
		operand3)),
		gen_rtx_CLOBBER (VOIDmode,
	copy_rtx (operand2)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22666 */
extern rtx_insn *gen_peephole2_281 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_281 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_281 (i386.md:22666)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22678 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = GEN_INT (INTVAL (operands[2]) - 1);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (SImode,
	gen_rtx_MULT (SImode,
	operand1,
	operand2),
	copy_rtx (operand1))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22666 */
extern rtx_insn *gen_peephole2_282 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_282 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_282 (i386.md:22666)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22678 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = GEN_INT (INTVAL (operands[2]) - 1);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (DImode,
	gen_rtx_MULT (DImode,
	operand1,
	operand2),
	copy_rtx (operand1))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22680 */
extern rtx_insn *gen_peephole2_283 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_283 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_283 (i386.md:22680)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22692 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = GEN_INT (INTVAL (operands[2]) - 1);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_PLUS (SImode,
	gen_rtx_MULT (SImode,
	copy_rtx (operand0),
	operand2),
	copy_rtx (operand0))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22680 */
extern rtx_insn *gen_peephole2_284 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_284 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_284 (i386.md:22680)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22692 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
operands[2] = GEN_INT (INTVAL (operands[2]) - 1);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_PLUS (DImode,
	gen_rtx_MULT (DImode,
	copy_rtx (operand0),
	operand2),
	copy_rtx (operand0))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22696 */
extern rtx_insn *gen_peephole2_285 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_285 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[3] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_285 (i386.md:22696)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MULT (SImode,
	copy_rtx (operand3),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22696 */
extern rtx_insn *gen_peephole2_286 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_286 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[3] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_286 (i386.md:22696)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MULT (DImode,
	copy_rtx (operand3),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22708 */
extern rtx_insn *gen_peephole2_287 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_287 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[3] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_287 (i386.md:22708)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_MULT (SImode,
	copy_rtx (operand3),
	operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22727 */
extern rtx_insn *gen_peephole2_288 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_288 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[3] = peep2_find_free_register (1, 1, "r", HImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_288 (i386.md:22727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22739 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!rtx_equal_p (operands[0], operands[1]))
    emit_move_insn (operands[0], operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	operand2));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MULT (HImode,
	copy_rtx (operand0),
	copy_rtx (operand3))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22727 */
extern rtx_insn *gen_peephole2_289 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_289 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[3] = peep2_find_free_register (1, 1, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_289 (i386.md:22727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22739 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!rtx_equal_p (operands[0], operands[1]))
    emit_move_insn (operands[0], operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	operand2));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MULT (SImode,
	copy_rtx (operand0),
	copy_rtx (operand3))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22727 */
extern rtx_insn *gen_peephole2_290 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_290 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[3] = peep2_find_free_register (1, 1, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_290 (i386.md:22727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22739 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  if (!rtx_equal_p (operands[0], operands[1]))
    emit_move_insn (operands[0], operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	operand2));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_MULT (DImode,
	copy_rtx (operand0),
	copy_rtx (operand3))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22756 */
extern rtx_insn *gen_peephole2_291 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_291 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[5] = peep2_find_free_register (0, 0, "r", SImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_291 (i386.md:22756)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22779 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode op1mode = GET_MODE (operands[1]);
  machine_mode mode = op1mode == DImode ? DImode : SImode;
  int scale = 1 << INTVAL (operands[2]);
  rtx index = gen_lowpart (word_mode, operands[1]);
  rtx base = gen_lowpart (word_mode, operands[5]);
  rtx dest = gen_lowpart (mode, operands[3]);

  operands[1] = gen_rtx_PLUS (word_mode, base,
			      gen_rtx_MULT (word_mode, index, GEN_INT (scale)));
  if (mode != word_mode)
    operands[1] = gen_rtx_SUBREG (mode, operands[1], 0);

  operands[5] = base;
  if (op1mode != word_mode)
    operands[5] = gen_lowpart (op1mode, operands[5]);

  operands[0] = dest;
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand5,
	operand4));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22756 */
extern rtx_insn *gen_peephole2_292 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_292 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  HARD_REG_SET _regs_allocated;
  CLEAR_HARD_REG_SET (_regs_allocated);
  if ((operands[5] = peep2_find_free_register (0, 0, "r", DImode, &_regs_allocated)) == NULL_RTX)
    return NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_292 (i386.md:22756)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22779 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  machine_mode op1mode = GET_MODE (operands[1]);
  machine_mode mode = op1mode == DImode ? DImode : SImode;
  int scale = 1 << INTVAL (operands[2]);
  rtx index = gen_lowpart (word_mode, operands[1]);
  rtx base = gen_lowpart (word_mode, operands[5]);
  rtx dest = gen_lowpart (mode, operands[3]);

  operands[1] = gen_rtx_PLUS (word_mode, base,
			      gen_rtx_MULT (word_mode, index, GEN_INT (scale)));
  if (mode != word_mode)
    operands[1] = gen_rtx_SUBREG (mode, operands[1], 0);

  operands[5] = base;
  if (op1mode != word_mode)
    operands[5] = gen_lowpart (op1mode, operands[5]);

  operands[0] = dest;
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand5,
	operand4));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22828 */
rtx
gen_prefetch (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22833 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  bool write = operands[1] != const0_rtx;
  int locality = INTVAL (operands[2]);

  gcc_assert (IN_RANGE (locality, 0, 3));

  /* Use 3dNOW prefetch in case we are asking for write prefetch not
     supported by SSE counterpart (non-SSE2 athlon machines) or the
     SSE prefetch is not available (K6 machines).  Otherwise use SSE
     prefetch as it allows specifying of locality.  */

  if (write)
    {
      if (TARGET_PREFETCHWT1)
	operands[2] = GEN_INT (MAX (locality, 2)); 
      else if (TARGET_PRFCHW)
	operands[2] = GEN_INT (3);
      else if (TARGET_3DNOW && !TARGET_SSE2)
	operands[2] = GEN_INT (3);
      else if (TARGET_PREFETCH_SSE)
	operands[1] = const0_rtx;
      else
	{
	  gcc_assert (TARGET_3DNOW);
	  operands[2] = GEN_INT (3);
	}
    }
  else
    {
      if (TARGET_PREFETCH_SSE)
	;
      else
	{
	  gcc_assert (TARGET_3DNOW);
	  operands[2] = GEN_INT (3);
	}
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_PREFETCH (VOIDmode,
	operand0,
	operand1,
	operand2));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22920 */
rtx
gen_stack_protect_set (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22924 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  emit_insn (gen_stack_protect_set_1
	     (ptr_mode, operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22971 */
extern rtx_insn *gen_peephole2_293 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_293 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_293 (i386.md:22971)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	83)),
		gen_rtx_SET (operand3,
	operand4),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:22971 */
extern rtx_insn *gen_peephole2_294 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_294 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_294 (i386.md:22971)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	83)),
		gen_rtx_SET (operand3,
	operand4),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23017 */
extern rtx_insn *gen_peephole2_295 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_295 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_295 (i386.md:23017)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	83)),
		gen_rtx_SET (operand2,
	operand3),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23017 */
extern rtx_insn *gen_peephole2_296 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_296 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_296 (i386.md:23017)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	83)),
		gen_rtx_SET (operand2,
	operand3),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23038 */
rtx
gen_stack_protect_test (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23043 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx flags = gen_rtx_REG (CCZmode, FLAGS_REG);

  emit_insn (gen_stack_protect_test_1
	     (ptr_mode, flags, operands[0], operands[1]));

  emit_jump_insn (gen_cbranchcc4 (gen_rtx_EQ (VOIDmode, flags, const0_rtx),
				  flags, const0_rtx, operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23525 */
rtx
gen_pause (void)
{
  rtx operand0;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[1];
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23529 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode));
  MEM_VOLATILE_P (operands[0]) = 1;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (BLKmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	34)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23621 */
rtx
gen_xbegin (rtx operand0)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[1];
    operands[0] = operand0;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23625 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  rtx_code_label *label = gen_label_rtx ();

  /* xbegin is emitted as jump_insn, so reload won't be able
     to reload its operand.  Force the value into AX hard register.  */
  rtx ax_reg = gen_rtx_REG (SImode, AX_REG);
  emit_move_insn (ax_reg, constm1_rtx);

  emit_jump_insn (gen_xbegin_1 (ax_reg, label));

  emit_label (label);
  LABEL_NUSES (label) = 1;

  emit_move_insn (operands[0], ax_reg);

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (1,
		const0_rtx),
	46)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23671 */
rtx
gen_xtest (rtx operand0)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[1];
    operands[0] = operand0;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23675 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  emit_insn (gen_xtest_1 ());

  ix86_expand_setcc (operands[0], NE,
		     gen_rtx_REG (CCZmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (1,
		const0_rtx),
	49)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23746 */
rtx
gen_rdpkru (rtx operand0)
{
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23752 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = force_reg (SImode, const0_rtx);
  operands[2] = gen_reg_rtx (SImode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (1,
		operand1),
	56)),
		gen_rtx_SET (operand2,
	const0_rtx))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23767 */
rtx
gen_wrpkru (rtx operand0)
{
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23772 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  operands[1] = force_reg (SImode, const0_rtx);
  operands[2] = force_reg (SImode, const0_rtx);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (3,
		operand0,
		operand1,
		operand2),
	56));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23978 */
rtx
gen_spaceshipsf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23984 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_fp_spaceship (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23978 */
rtx
gen_spaceshipdf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23984 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_fp_spaceship (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md:23989 */
rtx
gen_spaceshipxf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23994 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/i386.md"
{
  ix86_expand_fp_spaceship (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:105 */
rtx
gen_movv8qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 109 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V8QImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:105 */
rtx
gen_movv4hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 109 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V4HImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:105 */
rtx
gen_movv2si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 109 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V2SImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:105 */
rtx
gen_movv1di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 109 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V1DImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:105 */
rtx
gen_movv2sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 109 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V2SFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:105 */
rtx
gen_movv4hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 109 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V4HFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:234 */
extern rtx_insn *gen_split_579 (rtx_insn *, rtx *);
rtx_insn *
gen_split_579 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_579 (mmx.md:234)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 239 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_long_move (operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:234 */
extern rtx_insn *gen_split_580 (rtx_insn *, rtx *);
rtx_insn *
gen_split_580 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_580 (mmx.md:234)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 239 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_long_move (operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:234 */
extern rtx_insn *gen_split_581 (rtx_insn *, rtx *);
rtx_insn *
gen_split_581 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_581 (mmx.md:234)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 239 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_long_move (operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:234 */
extern rtx_insn *gen_split_582 (rtx_insn *, rtx *);
rtx_insn *
gen_split_582 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_582 (mmx.md:234)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 239 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_long_move (operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:234 */
extern rtx_insn *gen_split_583 (rtx_insn *, rtx *);
rtx_insn *
gen_split_583 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_583 (mmx.md:234)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 239 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_long_move (operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:234 */
extern rtx_insn *gen_split_584 (rtx_insn *, rtx *);
rtx_insn *
gen_split_584 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_584 (mmx.md:234)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 239 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_long_move (operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:241 */
extern rtx_insn *gen_split_585 (rtx_insn *, rtx *);
rtx_insn *
gen_split_585 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_585 (mmx.md:241)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 246 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_long_move (operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:241 */
extern rtx_insn *gen_split_586 (rtx_insn *, rtx *);
rtx_insn *
gen_split_586 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_586 (mmx.md:241)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 246 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_long_move (operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:241 */
extern rtx_insn *gen_split_587 (rtx_insn *, rtx *);
rtx_insn *
gen_split_587 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_587 (mmx.md:241)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 246 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_long_move (operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:241 */
extern rtx_insn *gen_split_588 (rtx_insn *, rtx *);
rtx_insn *
gen_split_588 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_588 (mmx.md:241)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 246 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_long_move (operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:241 */
extern rtx_insn *gen_split_589 (rtx_insn *, rtx *);
rtx_insn *
gen_split_589 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_589 (mmx.md:241)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 246 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_long_move (operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:241 */
extern rtx_insn *gen_split_590 (rtx_insn *, rtx *);
rtx_insn *
gen_split_590 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_590 (mmx.md:241)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 246 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_long_move (operands); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:248 */
rtx
gen_movmisalignv8qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 252 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V8QImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:248 */
rtx
gen_movmisalignv4hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 252 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V4HImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:248 */
rtx
gen_movmisalignv2si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 252 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V2SImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:248 */
rtx
gen_movmisalignv1di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 252 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V1DImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:248 */
rtx
gen_movmisalignv2sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 252 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V2SFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:248 */
rtx
gen_movmisalignv4hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 252 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V4HFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:257 */
rtx
gen_movv4qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 261 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V4QImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:257 */
rtx
gen_movv2hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 261 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V2HImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:257 */
rtx
gen_movv1si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 261 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V1SImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:257 */
rtx
gen_movv2hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 261 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V2HFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:345 */
extern rtx_insn *gen_split_591 (rtx_insn *, rtx *);
rtx_insn *
gen_split_591 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_591 (mmx.md:345)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 351 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (V4QImode)));
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:345 */
extern rtx_insn *gen_split_592 (rtx_insn *, rtx *);
rtx_insn *
gen_split_592 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_592 (mmx.md:345)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 351 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (V2HImode)));
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:345 */
extern rtx_insn *gen_split_593 (rtx_insn *, rtx *);
rtx_insn *
gen_split_593 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_593 (mmx.md:345)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 351 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (V1SImode)));
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:345 */
extern rtx_insn *gen_split_594 (rtx_insn *, rtx *);
rtx_insn *
gen_split_594 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_594 (mmx.md:345)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 351 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (V2HFmode)));
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:345 */
extern rtx_insn *gen_split_595 (rtx_insn *, rtx *);
rtx_insn *
gen_split_595 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_595 (mmx.md:345)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 351 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (V4QImode)));
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (DImode,
	7),
	gen_rtx_PLUS (DImode,
	gen_rtx_REG (DImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:345 */
extern rtx_insn *gen_split_596 (rtx_insn *, rtx *);
rtx_insn *
gen_split_596 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_596 (mmx.md:345)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 351 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (V2HImode)));
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (DImode,
	7),
	gen_rtx_PLUS (DImode,
	gen_rtx_REG (DImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:345 */
extern rtx_insn *gen_split_597 (rtx_insn *, rtx *);
rtx_insn *
gen_split_597 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_597 (mmx.md:345)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 351 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (V1SImode)));
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (DImode,
	7),
	gen_rtx_PLUS (DImode,
	gen_rtx_REG (DImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:345 */
extern rtx_insn *gen_split_598 (rtx_insn *, rtx *);
rtx_insn *
gen_split_598 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_598 (mmx.md:345)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 351 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (V2HFmode)));
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (DImode,
	7),
	gen_rtx_PLUS (DImode,
	gen_rtx_REG (DImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:357 */
rtx
gen_movmisalignv4qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 361 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V4QImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:357 */
rtx
gen_movmisalignv2hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 361 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V2HImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:357 */
rtx
gen_movmisalignv1si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 361 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V1SImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:357 */
rtx
gen_movmisalignv2hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 361 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V2HFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:366 */
rtx
gen_movv2qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 370 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V2QImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:513 */
extern rtx_insn *gen_split_599 (rtx_insn *, rtx *);
rtx_insn *
gen_split_599 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_599 (mmx.md:513)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 519 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (V2QImode)));
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (SImode,
	7),
	gen_rtx_PLUS (SImode,
	gen_rtx_REG (SImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:513 */
extern rtx_insn *gen_split_600 (rtx_insn *, rtx *);
rtx_insn *
gen_split_600 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_600 (mmx.md:513)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 519 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = GEN_INT (-PUSH_ROUNDING (GET_MODE_SIZE (V2QImode)));
  /* Preserve memory attributes. */
  operands[0] = replace_equiv_address (operands[0], stack_pointer_rtx);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (gen_rtx_REG (DImode,
	7),
	gen_rtx_PLUS (DImode,
	gen_rtx_REG (DImode,
	7),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:525 */
rtx
gen_movmisalignv2qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 529 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_move (V2QImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:554 */
rtx
gen_absv2sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 559 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_expand_fp_absneg_operator (ABS, V2SFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V2SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:554 */
rtx
gen_negv2sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 559 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_expand_fp_absneg_operator (NEG, V2SFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (V2SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:561 */
extern rtx_insn *gen_split_601 (rtx_insn *, rtx *);
rtx_insn *
gen_split_601 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_601 (mmx.md:561)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 571 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  if (!TARGET_AVX && operands_match_p (operands[0], operands[2]))
    std::swap (operands[1], operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V2SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:561 */
extern rtx_insn *gen_split_602 (rtx_insn *, rtx *);
rtx_insn *
gen_split_602 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_602 (mmx.md:561)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 571 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  if (!TARGET_AVX && operands_match_p (operands[0], operands[2]))
    std::swap (operands[1], operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V2SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:577 */
extern rtx_insn *gen_split_603 (rtx_insn *, rtx *);
rtx_insn *
gen_split_603 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_603 (mmx.md:577)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 588 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  if (!TARGET_AVX && operands_match_p (operands[0], operands[2]))
    std::swap (operands[1], operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V2SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:594 */
rtx
gen_mmx_addv2sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 600 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (PLUS, V2SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V2SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:602 */
rtx
gen_addv2sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V2SFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:627 */
rtx
gen_mmx_subv2sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (V2SFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:633 */
rtx
gen_mmx_subrv2sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (V2SFmode,
	operand2,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:639 */
rtx
gen_subv2sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (V2SFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:665 */
rtx
gen_mmx_mulv2sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 670 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (MULT, V2SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V2SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:672 */
rtx
gen_mulv2sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MULT (V2SFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:698 */
rtx
gen_divv2sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  rtx op1 = lowpart_subreg (V4SFmode, force_reg (V2SFmode, operands[1]),
			    V2SFmode);
  rtx op2 = gen_rtx_VEC_CONCAT (V4SFmode, operands[2],
				force_reg (V2SFmode, CONST1_RTX (V2SFmode)));
  rtx tmp = gen_reg_rtx (V4SFmode);

  emit_insn (gen_rtx_SET (tmp, op2));

  rtx op0 = gen_reg_rtx (V4SFmode);

  emit_insn (gen_divv4sf3 (op0, op1, tmp));

  emit_move_insn (operands[0], lowpart_subreg (V2SFmode, op0, V4SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_DIV (V2SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:720 */
rtx
gen_mmx_smaxv2sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 726 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V2SFmode, operands[1]);
      emit_insn (gen_mmx_ieee_maxv2sf3
		 (operands[0], operands[1], operands[2]));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V2SFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V2SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:720 */
rtx
gen_mmx_sminv2sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 726 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V2SFmode, operands[1]);
      emit_insn (gen_mmx_ieee_minv2sf3
		 (operands[0], operands[1], operands[2]));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V2SFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V2SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:738 */
rtx
gen_smaxv2sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 744 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      emit_insn (gen_mmx_ieee_maxv2sf3
		 (operands[0], operands[1], operands[2]));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V2SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:738 */
rtx
gen_sminv2sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 744 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      emit_insn (gen_mmx_ieee_minv2sf3
		 (operands[0], operands[1], operands[2]));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V2SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:869 */
rtx
gen_mmx_haddv2sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V2SFmode,
	gen_rtx_PLUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx)))),
	gen_rtx_PLUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:963 */
rtx
gen_mmx_haddsubv2sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V2SFmode,
	gen_rtx_MINUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx)))),
	gen_rtx_PLUS (SFmode,
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1024 */
rtx
gen_mmx_eqv2sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1029 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (EQ, V2SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_EQ (V2SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1092 */
rtx
gen_vec_cmpv2sfv2si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1098 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_fp_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V2SImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1104 */
rtx
gen_vcondv2sfv2sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2sfv2sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1113 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1104 */
rtx
gen_vcondv2siv2sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2siv2sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1113 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1175 */
rtx
gen_copysignv2sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"copysignv2sf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1186 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[3] = ix86_build_signbit_mask (V2SFmode, true, false);

  operands[4] = gen_reg_rtx (V2SFmode);
  operands[5] = gen_reg_rtx (V2SFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_AND (V2SFmode,
	gen_rtx_NOT (V2SFmode,
	operand3),
	operand1)));
  emit_insn (gen_rtx_SET (operand5,
	gen_rtx_AND (V2SFmode,
	copy_rtx (operand3),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V2SFmode,
	copy_rtx (operand4),
	copy_rtx (operand5))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1193 */
rtx
gen_xorsignv2sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"xorsignv2sf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1201 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[3] = ix86_build_signbit_mask (V2SFmode, true, false);

  operands[4] = gen_reg_rtx (V2SFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_AND (V2SFmode,
	operand3,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V2SFmode,
	copy_rtx (operand4),
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1207 */
rtx
gen_signbitv2sf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"signbitv2sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1214 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[1] = force_reg (V2SFmode, operands[1]);
  operands[2] = GEN_INT (GET_MODE_UNIT_BITSIZE (V2SFmode)-1);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V2SImode,
	gen_rtx_SUBREG (V2SImode,
	operand1,
	0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1315 */
rtx
gen_fix_truncv2sfv2si2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V2SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1343 */
rtx
gen_floatv2siv2sf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V2SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1435 */
extern rtx_insn *gen_split_604 (rtx_insn *, rtx *);
rtx_insn *
gen_split_604 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_604 (mmx.md:1435)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1446 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_mmx_punpck (operands, false); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1452 */
extern rtx_insn *gen_split_605 (rtx_insn *, rtx *);
rtx_insn *
gen_split_605 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_605 (mmx.md:1452)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1463 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_mmx_punpck (operands, true); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1513 */
rtx
gen_vec_setv2sf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv2sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1518 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (TARGET_MMX_WITH_SSE, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1529 */
extern rtx_insn *gen_split_606 (rtx_insn *, rtx *);
rtx_insn *
gen_split_606 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_606 (mmx.md:1529)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1539 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
operands[1] = gen_lowpart (SFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1573 */
extern rtx_insn *gen_split_607 (rtx_insn *, rtx *);
rtx_insn *
gen_split_607 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_607 (mmx.md:1573)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1580 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
operands[1] = adjust_address (operands[1], SFmode, 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1582 */
rtx
gen_vec_extractv2sfsf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1587 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_extract (TARGET_MMX_WITH_SSE, operands[0],
			      operands[1], INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1593 */
rtx
gen_vec_initv2sfsf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1597 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_init (TARGET_MMX_WITH_SSE, operands[0],
			   operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1631 */
rtx
gen_negv8qi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1637 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
operands[2] = force_reg (V8QImode, CONST0_RTX (V8QImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V8QImode,
	operand2,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1631 */
rtx
gen_negv4hi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1637 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
operands[2] = force_reg (V4HImode, CONST0_RTX (V4HImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V4HImode,
	operand2,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1631 */
rtx
gen_negv2si2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1637 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
operands[2] = force_reg (V2SImode, CONST0_RTX (V2SImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V2SImode,
	operand2,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1639 */
rtx
gen_negv4qi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1645 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
operands[2] = force_reg (V4QImode, CONST0_RTX (V4QImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V4QImode,
	operand2,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1639 */
rtx
gen_negv2hi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1645 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
operands[2] = force_reg (V2HImode, CONST0_RTX (V2HImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V2HImode,
	operand2,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1658 */
extern rtx_insn *gen_split_608 (rtx_insn *, rtx *);
rtx_insn *
gen_split_608 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_608 (mmx.md:1658)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1678 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[3] = lowpart_subreg (HImode, operands[1], V2QImode);
  operands[2] = lowpart_subreg (HImode, operands[0], V2QImode);
  operands[1] = lowpart_subreg (QImode, operands[1], V2QImode);
  operands[0] = lowpart_subreg (QImode, operands[0], V2QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	gen_rtx_NEG (QImode,
	operand1)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (HImode,
	operand2,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (HImode,
	gen_rtx_NEG (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (HImode,
	operand3,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0)),
	0)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1685 */
extern rtx_insn *gen_split_609 (rtx_insn *, rtx *);
rtx_insn *
gen_split_609 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_609 (mmx.md:1685)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1695 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = CONST0_RTX (V16QImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V2QImode);
  operands[0] = lowpart_subreg (V16QImode, operands[0], V2QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	operand2));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_MINUS (V16QImode,
	copy_rtx (operand0),
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1701 */
rtx
gen_mmx_addv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1707 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (PLUS, V8QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V8QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1701 */
rtx
gen_mmx_subv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1707 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (MINUS, V8QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V8QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1701 */
rtx
gen_mmx_addv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1707 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (PLUS, V4HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V4HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1701 */
rtx
gen_mmx_subv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1707 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (MINUS, V4HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V4HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1701 */
rtx
gen_mmx_addv2si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1707 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (PLUS, V2SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V2SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1701 */
rtx
gen_mmx_subv2si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1707 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (MINUS, V2SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V2SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1701 */
rtx
gen_mmx_addv1di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1707 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (PLUS, V1DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V1DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1701 */
rtx
gen_mmx_subv1di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1707 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (MINUS, V1DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V1DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1709 */
rtx
gen_addv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V8QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1709 */
rtx
gen_subv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (V8QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1709 */
rtx
gen_addv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V4HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1709 */
rtx
gen_subv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (V4HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1709 */
rtx
gen_addv2si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_PLUS (V2SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1709 */
rtx
gen_subv2si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MINUS (V2SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1759 */
extern rtx_insn *gen_split_610 (rtx_insn *, rtx *);
rtx_insn *
gen_split_610 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_610 (mmx.md:1759)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1784 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[5] = lowpart_subreg (HImode, operands[2], V2QImode);
  operands[4] = lowpart_subreg (HImode, operands[1], V2QImode);
  operands[3] = lowpart_subreg (HImode, operands[0], V2QImode);
  operands[2] = lowpart_subreg (QImode, operands[2], V2QImode);
  operands[1] = lowpart_subreg (QImode, operands[1], V2QImode);
  operands[0] = lowpart_subreg (QImode, operands[0], V2QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	gen_rtx_PLUS (QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (HImode,
	operand3,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (HImode,
	gen_rtx_PLUS (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (HImode,
	operand4,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (HImode,
	operand5,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0)),
	0)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1759 */
extern rtx_insn *gen_split_611 (rtx_insn *, rtx *);
rtx_insn *
gen_split_611 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_611 (mmx.md:1759)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1784 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[5] = lowpart_subreg (HImode, operands[2], V2QImode);
  operands[4] = lowpart_subreg (HImode, operands[1], V2QImode);
  operands[3] = lowpart_subreg (HImode, operands[0], V2QImode);
  operands[2] = lowpart_subreg (QImode, operands[2], V2QImode);
  operands[1] = lowpart_subreg (QImode, operands[1], V2QImode);
  operands[0] = lowpart_subreg (QImode, operands[0], V2QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	gen_rtx_MINUS (QImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (HImode,
	operand3,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (HImode,
	gen_rtx_MINUS (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (HImode,
	operand4,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (HImode,
	operand5,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0)),
	0)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1793 */
extern rtx_insn *gen_split_612 (rtx_insn *, rtx *);
rtx_insn *
gen_split_612 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_612 (mmx.md:1793)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1803 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (V16QImode, operands[2], V2QImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V2QImode);
  operands[0] = lowpart_subreg (V16QImode, operands[0], V2QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1793 */
extern rtx_insn *gen_split_613 (rtx_insn *, rtx *);
rtx_insn *
gen_split_613 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_613 (mmx.md:1793)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1803 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (V16QImode, operands[2], V2QImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V2QImode);
  operands[0] = lowpart_subreg (V16QImode, operands[0], V2QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1809 */
rtx
gen_mmx_ssaddv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1815 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (SS_PLUS, V8QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_PLUS (V8QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1809 */
rtx
gen_mmx_usaddv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1815 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (US_PLUS, V8QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_PLUS (V8QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1809 */
rtx
gen_mmx_sssubv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1815 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (SS_MINUS, V8QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_MINUS (V8QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1809 */
rtx
gen_mmx_ussubv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1815 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (US_MINUS, V8QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_MINUS (V8QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1809 */
rtx
gen_mmx_ssaddv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1815 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (SS_PLUS, V4HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_PLUS (V4HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1809 */
rtx
gen_mmx_usaddv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1815 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (US_PLUS, V4HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_PLUS (V4HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1809 */
rtx
gen_mmx_sssubv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1815 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (SS_MINUS, V4HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_MINUS (V4HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1809 */
rtx
gen_mmx_ussubv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1815 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (US_MINUS, V4HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_MINUS (V4HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1846 */
rtx
gen_mmx_mulv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1851 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (MULT, V4HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V4HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1853 */
rtx
gen_mulv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_MULT (V4HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1886 */
rtx
gen_mmx_smulv4hi3_highpart (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1897 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (MULT, V4HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V4HImode,
	gen_rtx_LSHIFTRT (V4SImode,
	gen_rtx_MULT (V4SImode,
	gen_rtx_SIGN_EXTEND (V4SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V4SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (16)]))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1920 */
rtx
gen_mmx_umulv4hi3_highpart (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1932 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (MULT, V4HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V4HImode,
	gen_rtx_LSHIFTRT (V4SImode,
	gen_rtx_MULT (V4SImode,
	gen_rtx_ZERO_EXTEND (V4SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V4SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (16)]))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1956 */
rtx
gen_smulv4hi3_highpart (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V4HImode,
	gen_rtx_LSHIFTRT (V4SImode,
	gen_rtx_MULT (V4SImode,
	gen_rtx_SIGN_EXTEND (V4SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V4SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (16)])));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1956 */
rtx
gen_umulv4hi3_highpart (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V4HImode,
	gen_rtx_LSHIFTRT (V4SImode,
	gen_rtx_MULT (V4SImode,
	gen_rtx_ZERO_EXTEND (V4SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V4SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (16)])));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:1986 */
rtx
gen_mmx_pmaddwd (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2006 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (MULT, V4HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V2SImode,
	gen_rtx_MULT (V2SImode,
	gen_rtx_SIGN_EXTEND (V2SImode,
	gen_rtx_VEC_SELECT (V2HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)])))),
	gen_rtx_SIGN_EXTEND (V2SImode,
	gen_rtx_VEC_SELECT (V2HImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))))),
	gen_rtx_MULT (V2SImode,
	gen_rtx_SIGN_EXTEND (V2SImode,
	gen_rtx_VEC_SELECT (V2HImode,
	copy_rtx (operand1),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))),
	gen_rtx_SIGN_EXTEND (V2SImode,
	gen_rtx_VEC_SELECT (V2HImode,
	copy_rtx (operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2038 */
rtx
gen_mmx_pmulhrwv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2052 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (MULT, V4HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V4HImode,
	gen_rtx_LSHIFTRT (V4SImode,
	gen_rtx_PLUS (V4SImode,
	gen_rtx_MULT (V4SImode,
	gen_rtx_SIGN_EXTEND (V4SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V4SImode,
	operand2)),
	gen_rtx_CONST_VECTOR (V4SImode,
	gen_rtvec (4,
		GEN_INT (32768L),
		GEN_INT (32768L),
		GEN_INT (32768L),
		GEN_INT (32768L)))),
	const_int_rtx[MAX_SAVED_CONST_INT + (16)]))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2073 */
rtx
gen_sse2_umulv1siv1di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2085 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (MULT, V2SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V1DImode,
	gen_rtx_ZERO_EXTEND (V1DImode,
	gen_rtx_VEC_SELECT (V1SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))),
	gen_rtx_ZERO_EXTEND (V1DImode,
	gen_rtx_VEC_SELECT (V1SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2132 */
rtx
gen_mmx_smaxv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2139 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (SMAX, V4HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V4HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2132 */
rtx
gen_mmx_sminv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2139 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (SMIN, V4HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V4HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2158 */
rtx
gen_smaxv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SMAX (V4HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2158 */
rtx
gen_sminv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SMIN (V4HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2210 */
rtx
gen_mmx_umaxv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2217 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (UMAX, V8QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMAX (V8QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2210 */
rtx
gen_mmx_uminv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2217 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (UMIN, V8QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMIN (V8QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2236 */
rtx
gen_umaxv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UMAX (V8QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2236 */
rtx
gen_uminv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UMIN (V8QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2287 */
rtx
gen_absv8qi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ABS (V8QImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2287 */
rtx
gen_absv4hi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ABS (V4HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2287 */
rtx
gen_absv2si2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ABS (V2SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2330 */
rtx
gen_ashrv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V4HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2330 */
rtx
gen_ashrv2si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V2SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2356 */
rtx
gen_ashlv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V4HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2356 */
rtx
gen_lshrv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V4HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2356 */
rtx
gen_ashlv2si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V2SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2356 */
rtx
gen_lshrv2si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V2SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2397 */
extern rtx_insn *gen_split_614 (rtx_insn *, rtx *);
rtx_insn *
gen_split_614 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_614 (mmx.md:2397)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2420 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[4] = lowpart_subreg (HImode, operands[1], V2QImode);
  operands[3] = lowpart_subreg (HImode, operands[0], V2QImode);
  operands[1] = lowpart_subreg (QImode, operands[1], V2QImode);
  operands[0] = lowpart_subreg (QImode, operands[0], V2QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (HImode,
	operand3,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (HImode,
	gen_rtx_ASHIFT (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (HImode,
	operand4,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand2),
	0)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	gen_rtx_ASHIFT (QImode,
	operand1,
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2397 */
extern rtx_insn *gen_split_615 (rtx_insn *, rtx *);
rtx_insn *
gen_split_615 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_615 (mmx.md:2397)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2420 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[4] = lowpart_subreg (HImode, operands[1], V2QImode);
  operands[3] = lowpart_subreg (HImode, operands[0], V2QImode);
  operands[1] = lowpart_subreg (QImode, operands[1], V2QImode);
  operands[0] = lowpart_subreg (QImode, operands[0], V2QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (HImode,
	operand3,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (HImode,
	gen_rtx_LSHIFTRT (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (HImode,
	operand4,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand2),
	0)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	gen_rtx_LSHIFTRT (QImode,
	operand1,
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2397 */
extern rtx_insn *gen_split_616 (rtx_insn *, rtx *);
rtx_insn *
gen_split_616 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_616 (mmx.md:2397)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2420 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[4] = lowpart_subreg (HImode, operands[1], V2QImode);
  operands[3] = lowpart_subreg (HImode, operands[0], V2QImode);
  operands[1] = lowpart_subreg (QImode, operands[1], V2QImode);
  operands[0] = lowpart_subreg (QImode, operands[0], V2QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_ZERO_EXTRACT (HImode,
	operand3,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_SUBREG (HImode,
	gen_rtx_ASHIFTRT (QImode,
	gen_rtx_SUBREG (QImode,
	gen_rtx_ZERO_EXTRACT (HImode,
	operand4,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)],
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	0),
	operand2),
	0)),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_STRICT_LOW_PART (VOIDmode,
	operand0),
	gen_rtx_ASHIFTRT (QImode,
	operand1,
	copy_rtx (operand2))),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2435 */
rtx
gen_mmx_eqv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2441 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (EQ, V8QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_EQ (V8QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2435 */
rtx
gen_mmx_eqv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2441 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (EQ, V4HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_EQ (V4HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2435 */
rtx
gen_mmx_eqv2si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2441 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (EQ, V2SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_EQ (V2SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2556 */
rtx
gen_vec_cmpv8qiv8qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V8QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2556 */
rtx
gen_vec_cmpv4hiv4hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V4HImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2556 */
rtx
gen_vec_cmpv2siv2si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V2SImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2568 */
rtx
gen_vec_cmpv4qiv4qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2574 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V4QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2568 */
rtx
gen_vec_cmpv2qiv2qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2574 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V2QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2568 */
rtx
gen_vec_cmpv2hiv2hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2574 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V2HImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2580 */
rtx
gen_vec_cmpuv8qiv8qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V8QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2580 */
rtx
gen_vec_cmpuv4hiv4hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V4HImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2580 */
rtx
gen_vec_cmpuv2siv2si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V2SImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2592 */
rtx
gen_vec_cmpuv4qiv4qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2598 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V4QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2592 */
rtx
gen_vec_cmpuv2qiv2qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2598 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V2QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2592 */
rtx
gen_vec_cmpuv2hiv2hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2598 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V2HImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2604 */
rtx
gen_vcondv8qiv8qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8qiv8qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2615 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2604 */
rtx
gen_vcondv8qiv4hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8qiv4hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2615 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2604 */
rtx
gen_vcondv8qiv2si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8qiv2si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2615 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2604 */
rtx
gen_vcondv4hiv8qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4hiv8qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2615 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2604 */
rtx
gen_vcondv4hiv4hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4hiv4hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2615 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2604 */
rtx
gen_vcondv4hiv2si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4hiv2si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2615 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2604 */
rtx
gen_vcondv2siv8qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2siv8qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2615 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2604 */
rtx
gen_vcondv2siv4hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2siv4hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2615 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2604 */
rtx
gen_vcondv2siv2si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2siv2si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2615 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2604 */
rtx
gen_vcondv2sfv8qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2sfv8qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2615 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2604 */
rtx
gen_vcondv2sfv4hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2sfv4hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2615 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2604 */
rtx
gen_vcondv2sfv2si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2sfv2si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2615 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2621 */
rtx
gen_vcondv4qiv4qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4qiv4qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2630 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2621 */
rtx
gen_vcondv2qiv2qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2qiv2qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2630 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2621 */
rtx
gen_vcondv2hiv2hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2hiv2hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2630 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2636 */
rtx
gen_vconduv8qiv8qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8qiv8qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2636 */
rtx
gen_vconduv8qiv4hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8qiv4hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2636 */
rtx
gen_vconduv8qiv2si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8qiv2si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2636 */
rtx
gen_vconduv4hiv8qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv4hiv8qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2636 */
rtx
gen_vconduv4hiv4hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv4hiv4hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2636 */
rtx
gen_vconduv4hiv2si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv4hiv2si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2636 */
rtx
gen_vconduv2siv8qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv2siv8qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2636 */
rtx
gen_vconduv2siv4hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv2siv4hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2636 */
rtx
gen_vconduv2siv2si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv2siv2si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2636 */
rtx
gen_vconduv2sfv8qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv2sfv8qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2636 */
rtx
gen_vconduv2sfv4hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv2sfv4hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2636 */
rtx
gen_vconduv2sfv2si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv2sfv2si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2653 */
rtx
gen_vconduv4qiv4qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv4qiv4qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2662 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2653 */
rtx
gen_vconduv2qiv2qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv2qiv2qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2662 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2653 */
rtx
gen_vconduv2hiv2hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv2hiv2hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2662 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2668 */
rtx
gen_vcond_mask_v8qiv8qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL _Pragma ("GCC error \"vcond_mask_v8qiv8qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2675 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_sse_movcc (operands[0], operands[3],
			 operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8QImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2668 */
rtx
gen_vcond_mask_v4hiv4hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL _Pragma ("GCC error \"vcond_mask_v4hiv4hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2675 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_sse_movcc (operands[0], operands[3],
			 operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4HImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2668 */
rtx
gen_vcond_mask_v2siv2si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL _Pragma ("GCC error \"vcond_mask_v2siv2si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2675 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_sse_movcc (operands[0], operands[3],
			 operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2SImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2668 */
rtx
gen_vcond_mask_v2sfv2si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL _Pragma ("GCC error \"vcond_mask_v2sfv2si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2675 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_sse_movcc (operands[0], operands[3],
			 operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2SFmode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2681 */
rtx
gen_vcond_mask_v4qiv4qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL _Pragma ("GCC error \"vcond_mask_v4qiv4qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2688 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_sse_movcc (operands[0], operands[3],
			 operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4QImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2681 */
rtx
gen_vcond_mask_v2qiv2qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL _Pragma ("GCC error \"vcond_mask_v2qiv2qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2688 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_sse_movcc (operands[0], operands[3],
			 operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2QImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2681 */
rtx
gen_vcond_mask_v2hiv2hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL _Pragma ("GCC error \"vcond_mask_v2hiv2hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2688 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_sse_movcc (operands[0], operands[3],
			 operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2HImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2786 */
rtx
gen_one_cmplv8qi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2792 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
operands[2] = force_reg (V8QImode, CONSTM1_RTX (V8QImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V8QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2786 */
rtx
gen_one_cmplv4hi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2792 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
operands[2] = force_reg (V4HImode, CONSTM1_RTX (V4HImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V4HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2786 */
rtx
gen_one_cmplv2si2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2792 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
operands[2] = force_reg (V2SImode, CONSTM1_RTX (V2SImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V2SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2804 */
extern rtx_insn *gen_split_617 (rtx_insn *, rtx *);
rtx_insn *
gen_split_617 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_617 (mmx.md:2804)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2811 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[1] = lowpart_subreg (SImode, operands[1], V4QImode);
  operands[0] = lowpart_subreg (SImode, operands[0], V4QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NOT (SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2804 */
extern rtx_insn *gen_split_618 (rtx_insn *, rtx *);
rtx_insn *
gen_split_618 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_618 (mmx.md:2804)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2811 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[1] = lowpart_subreg (SImode, operands[1], V2QImode);
  operands[0] = lowpart_subreg (SImode, operands[0], V2QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NOT (SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2804 */
extern rtx_insn *gen_split_619 (rtx_insn *, rtx *);
rtx_insn *
gen_split_619 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_619 (mmx.md:2804)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2811 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[1] = lowpart_subreg (SImode, operands[1], V2HImode);
  operands[0] = lowpart_subreg (SImode, operands[0], V2HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NOT (SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2816 */
extern rtx_insn *gen_split_620 (rtx_insn *, rtx *);
rtx_insn *
gen_split_620 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_620 (mmx.md:2816)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2825 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = CONSTM1_RTX (V16QImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V4QImode);
  operands[0] = lowpart_subreg (V16QImode, operands[0], V4QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	operand2));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_XOR (V16QImode,
	copy_rtx (operand0),
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2816 */
extern rtx_insn *gen_split_621 (rtx_insn *, rtx *);
rtx_insn *
gen_split_621 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_621 (mmx.md:2816)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2825 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = CONSTM1_RTX (V16QImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V2QImode);
  operands[0] = lowpart_subreg (V16QImode, operands[0], V2QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	operand2));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_XOR (V16QImode,
	copy_rtx (operand0),
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2816 */
extern rtx_insn *gen_split_622 (rtx_insn *, rtx *);
rtx_insn *
gen_split_622 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_622 (mmx.md:2816)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2825 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = CONSTM1_RTX (V16QImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V2HImode);
  operands[0] = lowpart_subreg (V16QImode, operands[0], V2HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	operand2));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_XOR (V16QImode,
	copy_rtx (operand0),
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2860 */
extern rtx_insn *gen_split_623 (rtx_insn *, rtx *);
rtx_insn *
gen_split_623 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_623 (mmx.md:2860)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2871 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], V4QImode);
  operands[1] = lowpart_subreg (SImode, operands[1], V4QImode);
  operands[0] = lowpart_subreg (SImode, operands[0], V4QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_NOT (SImode,
	operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2860 */
extern rtx_insn *gen_split_624 (rtx_insn *, rtx *);
rtx_insn *
gen_split_624 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_624 (mmx.md:2860)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2871 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], V2QImode);
  operands[1] = lowpart_subreg (SImode, operands[1], V2QImode);
  operands[0] = lowpart_subreg (SImode, operands[0], V2QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_NOT (SImode,
	operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2860 */
extern rtx_insn *gen_split_625 (rtx_insn *, rtx *);
rtx_insn *
gen_split_625 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_625 (mmx.md:2860)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2871 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], V2HImode);
  operands[1] = lowpart_subreg (SImode, operands[1], V2HImode);
  operands[0] = lowpart_subreg (SImode, operands[0], V2HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_NOT (SImode,
	operand1),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2877 */
extern rtx_insn *gen_split_626 (rtx_insn *, rtx *);
rtx_insn *
gen_split_626 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_626 (mmx.md:2877)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2890 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], V4QImode);
  operands[1] = lowpart_subreg (SImode, operands[1], V4QImode);
  operands[0] = lowpart_subreg (SImode, operands[0], V4QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NOT (SImode,
	operand1)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_AND (SImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2877 */
extern rtx_insn *gen_split_627 (rtx_insn *, rtx *);
rtx_insn *
gen_split_627 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_627 (mmx.md:2877)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2890 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], V2QImode);
  operands[1] = lowpart_subreg (SImode, operands[1], V2QImode);
  operands[0] = lowpart_subreg (SImode, operands[0], V2QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NOT (SImode,
	operand1)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_AND (SImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2877 */
extern rtx_insn *gen_split_628 (rtx_insn *, rtx *);
rtx_insn *
gen_split_628 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_628 (mmx.md:2877)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2890 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], V2HImode);
  operands[1] = lowpart_subreg (SImode, operands[1], V2HImode);
  operands[0] = lowpart_subreg (SImode, operands[0], V2HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NOT (SImode,
	operand1)));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_AND (SImode,
	copy_rtx (operand0),
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2896 */
extern rtx_insn *gen_split_629 (rtx_insn *, rtx *);
rtx_insn *
gen_split_629 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_629 (mmx.md:2896)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2905 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (V16QImode, operands[2], V4QImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V4QImode);
  operands[0] = lowpart_subreg (V16QImode, operands[0], V4QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V16QImode,
	gen_rtx_NOT (V16QImode,
	operand1),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2896 */
extern rtx_insn *gen_split_630 (rtx_insn *, rtx *);
rtx_insn *
gen_split_630 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_630 (mmx.md:2896)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2905 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (V16QImode, operands[2], V2QImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V2QImode);
  operands[0] = lowpart_subreg (V16QImode, operands[0], V2QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V16QImode,
	gen_rtx_NOT (V16QImode,
	operand1),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2896 */
extern rtx_insn *gen_split_631 (rtx_insn *, rtx *);
rtx_insn *
gen_split_631 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_631 (mmx.md:2896)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2905 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (V16QImode, operands[2], V2HImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V2HImode);
  operands[0] = lowpart_subreg (V16QImode, operands[0], V2HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V16QImode,
	gen_rtx_NOT (V16QImode,
	operand1),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2911 */
rtx
gen_mmx_andv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2917 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (AND, V8QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V8QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2911 */
rtx
gen_mmx_iorv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2917 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (IOR, V8QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V8QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2911 */
rtx
gen_mmx_xorv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2917 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (XOR, V8QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V8QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2911 */
rtx
gen_mmx_andv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2917 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (AND, V4HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V4HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2911 */
rtx
gen_mmx_iorv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2917 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (IOR, V4HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V4HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2911 */
rtx
gen_mmx_xorv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2917 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (XOR, V4HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V4HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2911 */
rtx
gen_mmx_andv2si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2917 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (AND, V2SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V2SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2911 */
rtx
gen_mmx_iorv2si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2917 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (IOR, V2SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V2SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2911 */
rtx
gen_mmx_xorv2si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2917 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_fixup_binary_operands_no_copy (XOR, V2SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V2SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2919 */
rtx
gen_andv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V8QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2919 */
rtx
gen_iorv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IOR (V8QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2919 */
rtx
gen_xorv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_XOR (V8QImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2919 */
rtx
gen_andv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V4HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2919 */
rtx
gen_iorv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IOR (V4HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2919 */
rtx
gen_xorv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_XOR (V4HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2919 */
rtx
gen_andv2si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V2SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2919 */
rtx
gen_iorv2si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IOR (V2SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2919 */
rtx
gen_xorv2si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_XOR (V2SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2955 */
extern rtx_insn *gen_split_632 (rtx_insn *, rtx *);
rtx_insn *
gen_split_632 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_632 (mmx.md:2955)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2966 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], V4QImode);
  operands[1] = lowpart_subreg (SImode, operands[1], V4QImode);
  operands[0] = lowpart_subreg (SImode, operands[0], V4QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2955 */
extern rtx_insn *gen_split_633 (rtx_insn *, rtx *);
rtx_insn *
gen_split_633 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_633 (mmx.md:2955)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2966 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], V4QImode);
  operands[1] = lowpart_subreg (SImode, operands[1], V4QImode);
  operands[0] = lowpart_subreg (SImode, operands[0], V4QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2955 */
extern rtx_insn *gen_split_634 (rtx_insn *, rtx *);
rtx_insn *
gen_split_634 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_634 (mmx.md:2955)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2966 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], V4QImode);
  operands[1] = lowpart_subreg (SImode, operands[1], V4QImode);
  operands[0] = lowpart_subreg (SImode, operands[0], V4QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2955 */
extern rtx_insn *gen_split_635 (rtx_insn *, rtx *);
rtx_insn *
gen_split_635 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_635 (mmx.md:2955)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2966 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], V2QImode);
  operands[1] = lowpart_subreg (SImode, operands[1], V2QImode);
  operands[0] = lowpart_subreg (SImode, operands[0], V2QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2955 */
extern rtx_insn *gen_split_636 (rtx_insn *, rtx *);
rtx_insn *
gen_split_636 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_636 (mmx.md:2955)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2966 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], V2QImode);
  operands[1] = lowpart_subreg (SImode, operands[1], V2QImode);
  operands[0] = lowpart_subreg (SImode, operands[0], V2QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2955 */
extern rtx_insn *gen_split_637 (rtx_insn *, rtx *);
rtx_insn *
gen_split_637 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_637 (mmx.md:2955)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2966 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], V2QImode);
  operands[1] = lowpart_subreg (SImode, operands[1], V2QImode);
  operands[0] = lowpart_subreg (SImode, operands[0], V2QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2955 */
extern rtx_insn *gen_split_638 (rtx_insn *, rtx *);
rtx_insn *
gen_split_638 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_638 (mmx.md:2955)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2966 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], V2HImode);
  operands[1] = lowpart_subreg (SImode, operands[1], V2HImode);
  operands[0] = lowpart_subreg (SImode, operands[0], V2HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2955 */
extern rtx_insn *gen_split_639 (rtx_insn *, rtx *);
rtx_insn *
gen_split_639 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_639 (mmx.md:2955)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2966 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], V2HImode);
  operands[1] = lowpart_subreg (SImode, operands[1], V2HImode);
  operands[0] = lowpart_subreg (SImode, operands[0], V2HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2955 */
extern rtx_insn *gen_split_640 (rtx_insn *, rtx *);
rtx_insn *
gen_split_640 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_640 (mmx.md:2955)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2966 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (SImode, operands[2], V2HImode);
  operands[1] = lowpart_subreg (SImode, operands[1], V2HImode);
  operands[0] = lowpart_subreg (SImode, operands[0], V2HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (SImode,
	operand1,
	operand2)),
		gen_hard_reg_clobber (CCmode, 17))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2972 */
extern rtx_insn *gen_split_641 (rtx_insn *, rtx *);
rtx_insn *
gen_split_641 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_641 (mmx.md:2972)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2981 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (V16QImode, operands[2], V4QImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V4QImode);
  operands[0] = lowpart_subreg (V16QImode, operands[0], V4QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2972 */
extern rtx_insn *gen_split_642 (rtx_insn *, rtx *);
rtx_insn *
gen_split_642 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_642 (mmx.md:2972)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2981 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (V16QImode, operands[2], V4QImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V4QImode);
  operands[0] = lowpart_subreg (V16QImode, operands[0], V4QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2972 */
extern rtx_insn *gen_split_643 (rtx_insn *, rtx *);
rtx_insn *
gen_split_643 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_643 (mmx.md:2972)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2981 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (V16QImode, operands[2], V4QImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V4QImode);
  operands[0] = lowpart_subreg (V16QImode, operands[0], V4QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2972 */
extern rtx_insn *gen_split_644 (rtx_insn *, rtx *);
rtx_insn *
gen_split_644 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_644 (mmx.md:2972)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2981 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (V16QImode, operands[2], V2QImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V2QImode);
  operands[0] = lowpart_subreg (V16QImode, operands[0], V2QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2972 */
extern rtx_insn *gen_split_645 (rtx_insn *, rtx *);
rtx_insn *
gen_split_645 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_645 (mmx.md:2972)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2981 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (V16QImode, operands[2], V2QImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V2QImode);
  operands[0] = lowpart_subreg (V16QImode, operands[0], V2QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2972 */
extern rtx_insn *gen_split_646 (rtx_insn *, rtx *);
rtx_insn *
gen_split_646 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_646 (mmx.md:2972)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2981 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (V16QImode, operands[2], V2QImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V2QImode);
  operands[0] = lowpart_subreg (V16QImode, operands[0], V2QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2972 */
extern rtx_insn *gen_split_647 (rtx_insn *, rtx *);
rtx_insn *
gen_split_647 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_647 (mmx.md:2972)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2981 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (V16QImode, operands[2], V2HImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V2HImode);
  operands[0] = lowpart_subreg (V16QImode, operands[0], V2HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2972 */
extern rtx_insn *gen_split_648 (rtx_insn *, rtx *);
rtx_insn *
gen_split_648 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_648 (mmx.md:2972)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2981 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (V16QImode, operands[2], V2HImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V2HImode);
  operands[0] = lowpart_subreg (V16QImode, operands[0], V2HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2972 */
extern rtx_insn *gen_split_649 (rtx_insn *, rtx *);
rtx_insn *
gen_split_649 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_649 (mmx.md:2972)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2981 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = lowpart_subreg (V16QImode, operands[2], V2HImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V2HImode);
  operands[0] = lowpart_subreg (V16QImode, operands[0], V2HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2998 */
extern rtx_insn *gen_split_650 (rtx_insn *, rtx *);
rtx_insn *
gen_split_650 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_650 (mmx.md:2998)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3013 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_mmx_pack (operands, SS_TRUNCATE); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:2998 */
extern rtx_insn *gen_split_651 (rtx_insn *, rtx *);
rtx_insn *
gen_split_651 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_651 (mmx.md:2998)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3013 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_mmx_pack (operands, US_TRUNCATE); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3018 */
extern rtx_insn *gen_split_652 (rtx_insn *, rtx *);
rtx_insn *
gen_split_652 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_652 (mmx.md:3018)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3033 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_mmx_pack (operands, SS_TRUNCATE); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3038 */
extern rtx_insn *gen_split_653 (rtx_insn *, rtx *);
rtx_insn *
gen_split_653 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_653 (mmx.md:3038)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3049 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_mmx_pack (operands, US_TRUNCATE); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3054 */
extern rtx_insn *gen_split_654 (rtx_insn *, rtx *);
rtx_insn *
gen_split_654 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_654 (mmx.md:3054)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3072 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_mmx_punpck (operands, true); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3077 */
extern rtx_insn *gen_split_655 (rtx_insn *, rtx *);
rtx_insn *
gen_split_655 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_655 (mmx.md:3077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3089 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_mmx_punpck (operands, true); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3094 */
extern rtx_insn *gen_split_656 (rtx_insn *, rtx *);
rtx_insn *
gen_split_656 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_656 (mmx.md:3094)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3112 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_mmx_punpck (operands, false); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3117 */
extern rtx_insn *gen_split_657 (rtx_insn *, rtx *);
rtx_insn *
gen_split_657 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_657 (mmx.md:3117)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3129 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_mmx_punpck (operands, false); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3134 */
extern rtx_insn *gen_split_658 (rtx_insn *, rtx *);
rtx_insn *
gen_split_658 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_658 (mmx.md:3134)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3150 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_mmx_punpck (operands, true); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3155 */
extern rtx_insn *gen_split_659 (rtx_insn *, rtx *);
rtx_insn *
gen_split_659 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_659 (mmx.md:3155)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3171 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_mmx_punpck (operands, false); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3176 */
extern rtx_insn *gen_split_660 (rtx_insn *, rtx *);
rtx_insn *
gen_split_660 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_660 (mmx.md:3176)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3192 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_mmx_punpck (operands, true); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3197 */
extern rtx_insn *gen_split_661 (rtx_insn *, rtx *);
rtx_insn *
gen_split_661 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_661 (mmx.md:3197)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3213 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_split_mmx_punpck (operands, false); DONE;
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3265 */
rtx
gen_vec_pack_trunc_v4hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3270 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  rtx op1 = gen_lowpart (V8QImode, operands[1]);
  rtx op2 = gen_lowpart (V8QImode, operands[2]);
  ix86_expand_vec_extract_even_odd (operands[0], op1, op2, 0);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3265 */
rtx
gen_vec_pack_trunc_v2si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3270 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  rtx op1 = gen_lowpart (V4HImode, operands[1]);
  rtx op2 = gen_lowpart (V4HImode, operands[2]);
  ix86_expand_vec_extract_even_odd (operands[0], op1, op2, 0);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3277 */
rtx
gen_vec_pack_trunc_v2hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3282 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  rtx op1 = gen_lowpart (V4QImode, operands[1]);
  rtx op2 = gen_lowpart (V4QImode, operands[2]);
  ix86_expand_vec_extract_even_odd (operands[0], op1, op2, 0);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3292 */
rtx
gen_vec_unpacks_lo_v8qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3296 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3292 */
rtx
gen_vec_unpacks_lo_v4hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3296 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3298 */
rtx
gen_vec_unpacks_hi_v8qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3302 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3298 */
rtx
gen_vec_unpacks_hi_v4hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3302 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3304 */
rtx
gen_vec_unpacku_lo_v8qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3308 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3304 */
rtx
gen_vec_unpacku_lo_v4hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3308 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3310 */
rtx
gen_vec_unpacku_hi_v8qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3314 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3310 */
rtx
gen_vec_unpacku_hi_v4hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3314 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3316 */
rtx
gen_vec_unpacks_lo_v4qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3320 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3322 */
rtx
gen_vec_unpacks_hi_v4qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3326 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3328 */
rtx
gen_vec_unpacku_lo_v4qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3332 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3334 */
rtx
gen_vec_unpacku_hi_v4qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3338 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3370 */
rtx
gen_mmx_pinsrw (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3379 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[2] = gen_lowpart (HImode, operands[2]);
  operands[3] = GEN_INT (1 << INTVAL (operands[3]));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4HImode,
	gen_rtx_VEC_DUPLICATE (V4HImode,
	operand2),
	operand1,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3559 */
rtx
gen_mmx_pshufw (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3565 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_mmx_pshufw_1 (operands[0], operands[1],
                               GEN_INT ((mask >> 0) & 3),
                               GEN_INT ((mask >> 2) & 3),
                               GEN_INT ((mask >> 4) & 3),
                               GEN_INT ((mask >> 6) & 3)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3669 */
extern rtx_insn *gen_split_662 (rtx_insn *, rtx *);
rtx_insn *
gen_split_662 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_662 (mmx.md:3669)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3676 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
operands[0] = adjust_address (operands[0], DImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATE (DImode,
	copy_rtx (operand0),
	const_int_rtx[MAX_SAVED_CONST_INT + (32)])));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3739 */
rtx
gen_vec_setv2si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv2si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3744 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (TARGET_MMX_WITH_SSE, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3755 */
extern rtx_insn *gen_split_663 (rtx_insn *, rtx *);
rtx_insn *
gen_split_663 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_663 (mmx.md:3755)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3765 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
operands[1] = gen_lowpart (SImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3799 */
extern rtx_insn *gen_split_664 (rtx_insn *, rtx *);
rtx_insn *
gen_split_664 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_664 (mmx.md:3799)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3808 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
operands[1] = gen_lowpart (SImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3837 */
extern rtx_insn *gen_split_665 (rtx_insn *, rtx *);
rtx_insn *
gen_split_665 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_665 (mmx.md:3837)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3844 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
operands[1] = adjust_address (operands[1], SImode, 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3861 */
extern rtx_insn *gen_split_666 (rtx_insn *, rtx *);
rtx_insn *
gen_split_666 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_666 (mmx.md:3861)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3871 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[1] = adjust_address (operands[1], SImode, INTVAL (operands[2]) * 4);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3877 */
rtx
gen_vec_extractv2sisi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3882 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_extract (TARGET_MMX_WITH_SSE, operands[0],
			      operands[1], INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3888 */
rtx
gen_vec_initv2sisi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3892 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_init (TARGET_MMX_WITH_SSE, operands[0],
			   operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3898 */
rtx
gen_vec_setv4hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv4hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3903 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (TARGET_MMX_WITH_SSE, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3912 */
rtx
gen_vec_extractv4hihi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3917 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_extract (TARGET_MMX_WITH_SSE, operands[0],
			      operands[1], INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3923 */
rtx
gen_vec_initv4hihi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3927 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_init (TARGET_MMX_WITH_SSE, operands[0],
			   operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3933 */
rtx
gen_vec_setv8qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv8qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3938 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (TARGET_MMX_WITH_SSE, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3947 */
rtx
gen_vec_extractv8qiqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3952 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_extract (TARGET_MMX_WITH_SSE, operands[0],
			      operands[1], INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:3958 */
rtx
gen_vec_initv8qiqi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3962 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_init (TARGET_MMX_WITH_SSE, operands[0],
			   operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4096 */
rtx
gen_vec_setv2hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv2hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4101 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4110 */
rtx
gen_vec_extractv2hihi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4115 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_extract (false, operands[0],
			      operands[1], INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4121 */
rtx
gen_vec_setv4qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv4qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4126 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4135 */
rtx
gen_vec_extractv4qiqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4140 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_extract (false, operands[0],
			      operands[1], INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4146 */
extern rtx_insn *gen_split_667 (rtx_insn *, rtx *);
rtx_insn *
gen_split_667 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_667 (mmx.md:4146)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4164 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  rtx dest = lowpart_subreg (V8HImode, operands[0], V2HImode);
  rtx op1 = lowpart_subreg (V8HImode, operands[1], V2HImode);
  rtx op2 = lowpart_subreg (V8HImode, operands[2], V2HImode);

  emit_insn (gen_vec_interleave_lowv8hi (dest, op1, op2));

  static const int map[4] = { 0, 2, 1, 3 };

  int sel0 = map[INTVAL (operands[3])];
  int sel1 = map[INTVAL (operands[4])];

  if (sel0 == 0 && sel1 == 1)
    DONE;

  operands[3] = GEN_INT (sel0);
  operands[4] = GEN_INT (sel1);
  operands[5] = dest;
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand5,
	gen_rtx_VEC_SELECT (V8HImode,
	copy_rtx (operand5),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		operand3,
		operand4,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4219 */
rtx
gen_vec_initv2hihi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4223 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_init (TARGET_MMX_WITH_SSE, operands[0],
			   operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4229 */
rtx
gen_vec_initv4qiqi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4233 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  ix86_expand_vector_init (TARGET_MMX_WITH_SSE, operands[0],
			   operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4245 */
rtx
gen_mmx_uavgv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4259 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[3] = CONST1_RTX(V8HImode);
  ix86_fixup_binary_operands_no_copy (PLUS, V8QImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V8QImode,
	gen_rtx_LSHIFTRT (V8HImode,
	gen_rtx_PLUS (V8HImode,
	gen_rtx_PLUS (V8HImode,
	gen_rtx_ZERO_EXTEND (V8HImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V8HImode,
	operand2)),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4245 */
rtx
gen_mmx_uavgv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4259 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  operands[3] = CONST1_RTX(V4SImode);
  ix86_fixup_binary_operands_no_copy (PLUS, V4HImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V4HImode,
	gen_rtx_LSHIFTRT (V4SImode,
	gen_rtx_PLUS (V4SImode,
	gen_rtx_PLUS (V4SImode,
	gen_rtx_ZERO_EXTEND (V4SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V4SImode,
	operand2)),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4335 */
rtx
gen_uavgv8qi3_ceil (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4348 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
operands[3] = CONST1_RTX(V8HImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V8QImode,
	gen_rtx_LSHIFTRT (V8HImode,
	gen_rtx_PLUS (V8HImode,
	gen_rtx_PLUS (V8HImode,
	gen_rtx_ZERO_EXTEND (V8HImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V8HImode,
	operand2)),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4335 */
rtx
gen_uavgv4hi3_ceil (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4348 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
operands[3] = CONST1_RTX(V4SImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V4HImode,
	gen_rtx_LSHIFTRT (V4SImode,
	gen_rtx_PLUS (V4SImode,
	gen_rtx_PLUS (V4SImode,
	gen_rtx_ZERO_EXTEND (V4SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V4SImode,
	operand2)),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4427 */
rtx
gen_reduc_plus_scal_v8qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"reduc_plus_scal_v8qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4432 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  rtx tmp = gen_reg_rtx (V8QImode);
  emit_move_insn (tmp, CONST0_RTX (V8QImode));
  rtx tmp2 = gen_reg_rtx (V1DImode);
  emit_insn (gen_mmx_psadbw (tmp2, operands[1], tmp));
  tmp2 = gen_lowpart (V8QImode, tmp2);
  emit_insn (gen_vec_extractv8qiqi (operands[0], tmp2, const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_PLUS (V8QImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4442 */
rtx
gen_reduc_plus_scal_v4hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"reduc_plus_scal_v4hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4447 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  rtx tmp = gen_reg_rtx (V4HImode);
  ix86_expand_reduc (gen_addv4hi3, tmp, operands[1]);
  emit_insn (gen_vec_extractv4hihi (operands[0], tmp, const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_PLUS (V4HImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4454 */
rtx
gen_reduc_smax_scal_v4hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4459 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  rtx tmp = gen_reg_rtx (V4HImode);
  ix86_expand_reduc (gen_smaxv4hi3, tmp, operands[1]);
  emit_insn (gen_vec_extractv4hihi (operands[0], tmp, const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V4HImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4454 */
rtx
gen_reduc_smin_scal_v4hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4459 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  rtx tmp = gen_reg_rtx (V4HImode);
  ix86_expand_reduc (gen_sminv4hi3, tmp, operands[1]);
  emit_insn (gen_vec_extractv4hihi (operands[0], tmp, const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V4HImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4466 */
rtx
gen_reduc_smax_scal_v4qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4471 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  rtx tmp = gen_reg_rtx (V4QImode);
  ix86_expand_reduc (gen_smaxv4qi3, tmp, operands[1]);
  emit_insn (gen_vec_extractv4qiqi (operands[0], tmp, const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V4QImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4466 */
rtx
gen_reduc_smin_scal_v4qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4471 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  rtx tmp = gen_reg_rtx (V4QImode);
  ix86_expand_reduc (gen_sminv4qi3, tmp, operands[1]);
  emit_insn (gen_vec_extractv4qiqi (operands[0], tmp, const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V4QImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4478 */
rtx
gen_reduc_umax_scal_v4hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4483 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  rtx tmp = gen_reg_rtx (V4HImode);
  ix86_expand_reduc (gen_umaxv4hi3, tmp, operands[1]);
  emit_insn (gen_vec_extractv4hihi (operands[0], tmp, const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_UMAX (V4HImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4478 */
rtx
gen_reduc_umin_scal_v4hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4483 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  rtx tmp = gen_reg_rtx (V4HImode);
  ix86_expand_reduc (gen_uminv4hi3, tmp, operands[1]);
  emit_insn (gen_vec_extractv4hihi (operands[0], tmp, const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_UMIN (V4HImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4490 */
rtx
gen_reduc_umax_scal_v4qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4495 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  rtx tmp = gen_reg_rtx (V4QImode);
  ix86_expand_reduc (gen_umaxv4qi3, tmp, operands[1]);
  emit_insn (gen_vec_extractv4qiqi (operands[0], tmp, const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_UMAX (V4QImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4490 */
rtx
gen_reduc_umin_scal_v4qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4495 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  rtx tmp = gen_reg_rtx (V4QImode);
  ix86_expand_reduc (gen_uminv4qi3, tmp, operands[1]);
  emit_insn (gen_vec_extractv4qiqi (operands[0], tmp, const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_UMIN (V4QImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4502 */
rtx
gen_reduc_plus_scal_v4qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"reduc_plus_scal_v4qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4507 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  rtx op1 = gen_reg_rtx (V16QImode);
  emit_insn (gen_vec_setv4si_0 (lowpart_subreg (V4SImode, op1, V16QImode),
				CONST0_RTX (V4SImode),
				lowpart_subreg (SImode,
						operands[1],
						V4QImode)));
  rtx tmp = gen_reg_rtx (V16QImode);
  emit_move_insn (tmp, CONST0_RTX (V16QImode));
  rtx tmp2 = gen_reg_rtx (V2DImode);
  emit_insn (gen_sse2_psadbw (tmp2, op1, tmp));
  tmp2 = gen_lowpart (V16QImode, tmp2);
  emit_insn (gen_vec_extractv16qiqi (operands[0], tmp2, const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_PLUS (V4QImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4523 */
rtx
gen_usadv8qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4529 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  rtx t1 = gen_reg_rtx (V1DImode);
  rtx t2 = gen_reg_rtx (V2SImode);
  emit_insn (gen_mmx_psadbw (t1, operands[1], operands[2]));
  convert_move (t2, t1, 0);
  emit_insn (gen_addv2si3 (operands[0], t2, operands[3]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4538 */
extern rtx_insn *gen_split_668 (rtx_insn *, rtx *);
rtx_insn *
gen_split_668 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_668 (mmx.md:4538)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4553 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
  /* Generate SSE pmovmskb and zero-extend from QImode to SImode.  */
  operands[1] = lowpart_subreg (V16QImode, operands[1],
				GET_MODE (operands[1]));
  operands[2] = lowpart_subreg (QImode, operands[0],
				GET_MODE (operands[0]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44)));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_ZERO_EXTEND (SImode,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4564 */
rtx
gen_mmx_maskmovq (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand0),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4593 */
rtx
gen_mmx_emms (void)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4613 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
   if (!TARGET_MMX)
     {
       emit_insn (gen_nop ());
       DONE;
     }
}
#undef DONE
#undef FAIL
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (17,
		gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	86),
		gen_hard_reg_clobber (XFmode, 8),
		gen_hard_reg_clobber (XFmode, 9),
		gen_hard_reg_clobber (XFmode, 10),
		gen_hard_reg_clobber (XFmode, 11),
		gen_hard_reg_clobber (XFmode, 12),
		gen_hard_reg_clobber (XFmode, 13),
		gen_hard_reg_clobber (XFmode, 14),
		gen_hard_reg_clobber (XFmode, 15),
		gen_hard_reg_clobber (DImode, 28),
		gen_hard_reg_clobber (DImode, 29),
		gen_hard_reg_clobber (DImode, 30),
		gen_hard_reg_clobber (DImode, 31),
		gen_hard_reg_clobber (DImode, 32),
		gen_hard_reg_clobber (DImode, 33),
		gen_hard_reg_clobber (DImode, 34),
		gen_hard_reg_clobber (DImode, 35))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md:4593 */
rtx
gen_mmx_femms (void)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4613 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/mmx.md"
{
   if (!TARGET_MMX)
     {
       emit_insn (gen_nop ());
       DONE;
     }
}
#undef DONE
#undef FAIL
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (17,
		gen_rtx_UNSPEC_VOLATILE (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	87),
		gen_hard_reg_clobber (XFmode, 8),
		gen_hard_reg_clobber (XFmode, 9),
		gen_hard_reg_clobber (XFmode, 10),
		gen_hard_reg_clobber (XFmode, 11),
		gen_hard_reg_clobber (XFmode, 12),
		gen_hard_reg_clobber (XFmode, 13),
		gen_hard_reg_clobber (XFmode, 14),
		gen_hard_reg_clobber (XFmode, 15),
		gen_hard_reg_clobber (DImode, 28),
		gen_hard_reg_clobber (DImode, 29),
		gen_hard_reg_clobber (DImode, 30),
		gen_hard_reg_clobber (DImode, 31),
		gen_hard_reg_clobber (DImode, 32),
		gen_hard_reg_clobber (DImode, 33),
		gen_hard_reg_clobber (DImode, 34),
		gen_hard_reg_clobber (DImode, 35))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv64qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V64QImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv32qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V32QImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv16qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V16QImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv32hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V32HImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv16hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V16HImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv8hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V8HImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv16si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V16SImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv8si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V8SImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv4si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V4SImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv8di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V8DImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv4di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V4DImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv2di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V2DImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv4ti (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V4TImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv2ti (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V2TImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv1ti (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V1TImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv32hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V32HFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv16hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V16HFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv8hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V8HFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv16sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V16SFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv8sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V8SFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv4sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V4SFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv8df (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V8DFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv4df (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V4DFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1271 */
rtx
gen_movv2df (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1275 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V2DFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1335 */
rtx
gen_avx512f_loadv16si_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1342 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[3]))
    {
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  else if (MEM_P (operands[1]))
    operands[1] = gen_rtx_UNSPEC (V16SImode,
				 gen_rtvec(1, operands[1]),
				 UNSPEC_MASKLOAD);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1335 */
rtx
gen_avx512vl_loadv8si_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1342 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[3]))
    {
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  else if (MEM_P (operands[1]))
    operands[1] = gen_rtx_UNSPEC (V8SImode,
				 gen_rtvec(1, operands[1]),
				 UNSPEC_MASKLOAD);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1335 */
rtx
gen_avx512vl_loadv4si_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1342 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[3]))
    {
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  else if (MEM_P (operands[1]))
    operands[1] = gen_rtx_UNSPEC (V4SImode,
				 gen_rtvec(1, operands[1]),
				 UNSPEC_MASKLOAD);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1335 */
rtx
gen_avx512f_loadv8di_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1342 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[3]))
    {
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  else if (MEM_P (operands[1]))
    operands[1] = gen_rtx_UNSPEC (V8DImode,
				 gen_rtvec(1, operands[1]),
				 UNSPEC_MASKLOAD);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1335 */
rtx
gen_avx512vl_loadv4di_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1342 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[3]))
    {
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  else if (MEM_P (operands[1]))
    operands[1] = gen_rtx_UNSPEC (V4DImode,
				 gen_rtvec(1, operands[1]),
				 UNSPEC_MASKLOAD);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1335 */
rtx
gen_avx512vl_loadv2di_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1342 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[3]))
    {
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  else if (MEM_P (operands[1]))
    operands[1] = gen_rtx_UNSPEC (V2DImode,
				 gen_rtvec(1, operands[1]),
				 UNSPEC_MASKLOAD);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1335 */
rtx
gen_avx512f_loadv16sf_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1342 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[3]))
    {
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  else if (MEM_P (operands[1]))
    operands[1] = gen_rtx_UNSPEC (V16SFmode,
				 gen_rtvec(1, operands[1]),
				 UNSPEC_MASKLOAD);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1335 */
rtx
gen_avx512vl_loadv8sf_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1342 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[3]))
    {
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  else if (MEM_P (operands[1]))
    operands[1] = gen_rtx_UNSPEC (V8SFmode,
				 gen_rtvec(1, operands[1]),
				 UNSPEC_MASKLOAD);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1335 */
rtx
gen_avx512vl_loadv4sf_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1342 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[3]))
    {
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  else if (MEM_P (operands[1]))
    operands[1] = gen_rtx_UNSPEC (V4SFmode,
				 gen_rtvec(1, operands[1]),
				 UNSPEC_MASKLOAD);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1335 */
rtx
gen_avx512f_loadv8df_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1342 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[3]))
    {
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  else if (MEM_P (operands[1]))
    operands[1] = gen_rtx_UNSPEC (V8DFmode,
				 gen_rtvec(1, operands[1]),
				 UNSPEC_MASKLOAD);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1335 */
rtx
gen_avx512vl_loadv4df_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1342 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[3]))
    {
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  else if (MEM_P (operands[1]))
    operands[1] = gen_rtx_UNSPEC (V4DFmode,
				 gen_rtvec(1, operands[1]),
				 UNSPEC_MASKLOAD);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1335 */
rtx
gen_avx512vl_loadv2df_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1342 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[3]))
    {
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  else if (MEM_P (operands[1]))
    operands[1] = gen_rtx_UNSPEC (V2DFmode,
				 gen_rtvec(1, operands[1]),
				 UNSPEC_MASKLOAD);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1383 */
extern rtx_insn *gen_split_669 (rtx_insn *, rtx *);
rtx_insn *
gen_split_669 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_669 (sse.md:1383)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1383 */
extern rtx_insn *gen_split_670 (rtx_insn *, rtx *);
rtx_insn *
gen_split_670 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_670 (sse.md:1383)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1383 */
extern rtx_insn *gen_split_671 (rtx_insn *, rtx *);
rtx_insn *
gen_split_671 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_671 (sse.md:1383)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1383 */
extern rtx_insn *gen_split_672 (rtx_insn *, rtx *);
rtx_insn *
gen_split_672 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_672 (sse.md:1383)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1383 */
extern rtx_insn *gen_split_673 (rtx_insn *, rtx *);
rtx_insn *
gen_split_673 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_673 (sse.md:1383)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1383 */
extern rtx_insn *gen_split_674 (rtx_insn *, rtx *);
rtx_insn *
gen_split_674 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_674 (sse.md:1383)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1383 */
extern rtx_insn *gen_split_675 (rtx_insn *, rtx *);
rtx_insn *
gen_split_675 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_675 (sse.md:1383)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1383 */
extern rtx_insn *gen_split_676 (rtx_insn *, rtx *);
rtx_insn *
gen_split_676 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_676 (sse.md:1383)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1383 */
extern rtx_insn *gen_split_677 (rtx_insn *, rtx *);
rtx_insn *
gen_split_677 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_677 (sse.md:1383)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1383 */
extern rtx_insn *gen_split_678 (rtx_insn *, rtx *);
rtx_insn *
gen_split_678 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_678 (sse.md:1383)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1383 */
extern rtx_insn *gen_split_679 (rtx_insn *, rtx *);
rtx_insn *
gen_split_679 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_679 (sse.md:1383)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1383 */
extern rtx_insn *gen_split_680 (rtx_insn *, rtx *);
rtx_insn *
gen_split_680 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_680 (sse.md:1383)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1393 */
rtx
gen_avx512bw_loadv64qi_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1400 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[3]))
    {
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  else if (MEM_P (operands[1]))
    operands[1] = gen_rtx_UNSPEC (V64QImode,
				 gen_rtvec(1, operands[1]),
				 UNSPEC_MASKLOAD);

}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1393 */
rtx
gen_avx512vl_loadv16qi_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1400 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[3]))
    {
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  else if (MEM_P (operands[1]))
    operands[1] = gen_rtx_UNSPEC (V16QImode,
				 gen_rtvec(1, operands[1]),
				 UNSPEC_MASKLOAD);

}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1393 */
rtx
gen_avx512vl_loadv32qi_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1400 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[3]))
    {
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  else if (MEM_P (operands[1]))
    operands[1] = gen_rtx_UNSPEC (V32QImode,
				 gen_rtvec(1, operands[1]),
				 UNSPEC_MASKLOAD);

}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1393 */
rtx
gen_avx512bw_loadv32hi_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1400 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[3]))
    {
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  else if (MEM_P (operands[1]))
    operands[1] = gen_rtx_UNSPEC (V32HImode,
				 gen_rtvec(1, operands[1]),
				 UNSPEC_MASKLOAD);

}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1393 */
rtx
gen_avx512vl_loadv16hi_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1400 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[3]))
    {
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  else if (MEM_P (operands[1]))
    operands[1] = gen_rtx_UNSPEC (V16HImode,
				 gen_rtvec(1, operands[1]),
				 UNSPEC_MASKLOAD);

}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1393 */
rtx
gen_avx512vl_loadv8hi_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1400 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[3]))
    {
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  else if (MEM_P (operands[1]))
    operands[1] = gen_rtx_UNSPEC (V8HImode,
				 gen_rtvec(1, operands[1]),
				 UNSPEC_MASKLOAD);

}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1427 */
extern rtx_insn *gen_split_681 (rtx_insn *, rtx *);
rtx_insn *
gen_split_681 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_681 (sse.md:1427)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1427 */
extern rtx_insn *gen_split_682 (rtx_insn *, rtx *);
rtx_insn *
gen_split_682 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_682 (sse.md:1427)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1427 */
extern rtx_insn *gen_split_683 (rtx_insn *, rtx *);
rtx_insn *
gen_split_683 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_683 (sse.md:1427)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1427 */
extern rtx_insn *gen_split_684 (rtx_insn *, rtx *);
rtx_insn *
gen_split_684 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_684 (sse.md:1427)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1427 */
extern rtx_insn *gen_split_685 (rtx_insn *, rtx *);
rtx_insn *
gen_split_685 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_685 (sse.md:1427)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1427 */
extern rtx_insn *gen_split_686 (rtx_insn *, rtx *);
rtx_insn *
gen_split_686 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_686 (sse.md:1427)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1427 */
extern rtx_insn *gen_split_687 (rtx_insn *, rtx *);
rtx_insn *
gen_split_687 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_687 (sse.md:1427)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1427 */
extern rtx_insn *gen_split_688 (rtx_insn *, rtx *);
rtx_insn *
gen_split_688 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_688 (sse.md:1427)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1427 */
extern rtx_insn *gen_split_689 (rtx_insn *, rtx *);
rtx_insn *
gen_split_689 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_689 (sse.md:1427)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1452 */
rtx
gen_avx512f_loadhf_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1463 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = CONST0_RTX (V8HFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	operand1),
	operand2,
	operand3),
	operand4,
	const1_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1452 */
rtx
gen_avx512f_loadsf_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1463 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = CONST0_RTX (V4SFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	operand1),
	operand2,
	operand3),
	operand4,
	const1_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1452 */
rtx
gen_avx512f_loaddf_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1463 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = CONST0_RTX (V2DFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	operand1),
	operand2,
	operand3),
	operand4,
	const1_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1598 */
rtx
gen_sse2_movq128 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V2DImode,
	gen_rtx_VEC_SELECT (DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	const0_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1629 */
extern rtx_insn *gen_split_690 (rtx_insn *, rtx *);
rtx_insn *
gen_split_690 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_690 (sse.md:1629)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1638 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
 if (register_operand (operands[1], DImode))
   {
      /* The DImode arrived in a pair of integral registers (e.g. %edx:%eax).
	 Assemble the 64-bit DImode value in an xmm register.  */
      emit_insn (gen_sse2_loadld (operands[0], CONST0_RTX (V4SImode),
				  gen_lowpart (SImode, operands[1])));
      if (TARGET_SSE4_1)
        emit_insn (gen_sse4_1_pinsrd (operands[0], operands[0],
				      gen_highpart (SImode, operands[1]),
				      GEN_INT (2)));
      else
	{
	  emit_insn (gen_sse2_loadld (operands[2], CONST0_RTX (V4SImode),
				      gen_highpart (SImode, operands[1])));
	  emit_insn (gen_vec_interleave_lowv4si (operands[0], operands[0],
						 operands[2]));
	}
  }
 else if (memory_operand (operands[1], DImode))
   emit_insn (gen_vec_concatv2di (gen_lowpart (V2DImode, operands[0]),
				  operands[1], const0_rtx));
 else
   gcc_unreachable ();
 DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1666 */
extern rtx_insn *gen_split_691 (rtx_insn *, rtx *);
rtx_insn *
gen_split_691 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_691 (sse.md:1666)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1675 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (SFmode, operands[1]);
  operands[2] = CONST0_RTX (V4SFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	operand1),
	operand2,
	const1_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1680 */
extern rtx_insn *gen_split_692 (rtx_insn *, rtx *);
rtx_insn *
gen_split_692 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_692 (sse.md:1680)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (DFmode, operands[1]);
  operands[2] = CONST0_RTX (DFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V2DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv64qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V64QImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv32qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V32QImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv16qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V16QImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv32hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V32HImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv16hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V16HImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv8hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V8HImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv16si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V16SImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv8si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V8SImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv4si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V4SImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv8di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V8DImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv4di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V4DImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv2di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V2DImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv4ti (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V4TImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv2ti (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V2TImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv1ti (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V1TImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv32hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V32HFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv16hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V16HFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv8hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V8HFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv16sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V16SFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv8sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V8SFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv4sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V4SFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv8df (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V8DFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv4df (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V4DFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1690 */
rtx
gen_movmisalignv2df (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1694 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move_misalign (V2DFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1700 */
extern rtx_insn *gen_peephole2_297 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_297 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_297 (sse.md:1700)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1711 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[5] = adjust_address (operands[1], V2DFmode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand2,
	operand5));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1713 */
extern rtx_insn *gen_peephole2_298 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_298 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_298 (sse.md:1713)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1723 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[5] = adjust_address (operands[1], V2DFmode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand2,
	operand5));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1726 */
extern rtx_insn *gen_peephole2_299 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_299 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_299 (sse.md:1726)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1736 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = adjust_address (operands[0], V2DFmode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1807 */
rtx
gen_storentdi (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1807 */
rtx
gen_storentsi (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1807 */
rtx
gen_storentsf (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SFmode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1807 */
rtx
gen_storentdf (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DFmode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1807 */
rtx
gen_storentv8di (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1807 */
rtx
gen_storentv4di (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1807 */
rtx
gen_storentv2di (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1807 */
rtx
gen_storentv16sf (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1807 */
rtx
gen_storentv8sf (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1807 */
rtx
gen_storentv4sf (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1807 */
rtx
gen_storentv8df (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1807 */
rtx
gen_storentv4df (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1807 */
rtx
gen_storentv2df (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	102));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1834 */
rtx
gen_kmovb (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1834 */
rtx
gen_kmovw (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1834 */
rtx
gen_kmovd (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1834 */
rtx
gen_kmovq (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1862 */
extern rtx_insn *gen_split_693 (rtx_insn *, rtx *);
rtx_insn *
gen_split_693 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_693 (sse.md:1862)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1862 */
extern rtx_insn *gen_split_694 (rtx_insn *, rtx *);
rtx_insn *
gen_split_694 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_694 (sse.md:1862)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (QImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1862 */
extern rtx_insn *gen_split_695 (rtx_insn *, rtx *);
rtx_insn *
gen_split_695 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_695 (sse.md:1862)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (QImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1862 */
extern rtx_insn *gen_split_696 (rtx_insn *, rtx *);
rtx_insn *
gen_split_696 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_696 (sse.md:1862)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1862 */
extern rtx_insn *gen_split_697 (rtx_insn *, rtx *);
rtx_insn *
gen_split_697 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_697 (sse.md:1862)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (HImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1862 */
extern rtx_insn *gen_split_698 (rtx_insn *, rtx *);
rtx_insn *
gen_split_698 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_698 (sse.md:1862)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (HImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1862 */
extern rtx_insn *gen_split_699 (rtx_insn *, rtx *);
rtx_insn *
gen_split_699 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_699 (sse.md:1862)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1862 */
extern rtx_insn *gen_split_700 (rtx_insn *, rtx *);
rtx_insn *
gen_split_700 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_700 (sse.md:1862)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (SImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1862 */
extern rtx_insn *gen_split_701 (rtx_insn *, rtx *);
rtx_insn *
gen_split_701 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_701 (sse.md:1862)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (SImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1862 */
extern rtx_insn *gen_split_702 (rtx_insn *, rtx *);
rtx_insn *
gen_split_702 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_702 (sse.md:1862)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (DImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1862 */
extern rtx_insn *gen_split_703 (rtx_insn *, rtx *);
rtx_insn *
gen_split_703 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_703 (sse.md:1862)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_IOR (DImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1862 */
extern rtx_insn *gen_split_704 (rtx_insn *, rtx *);
rtx_insn *
gen_split_704 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_704 (sse.md:1862)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_XOR (DImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1897 */
extern rtx_insn *gen_split_705 (rtx_insn *, rtx *);
rtx_insn *
gen_split_705 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_705 (sse.md:1897)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_NOT (QImode,
	operand1),
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1897 */
extern rtx_insn *gen_split_706 (rtx_insn *, rtx *);
rtx_insn *
gen_split_706 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_706 (sse.md:1897)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_NOT (HImode,
	operand1),
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1897 */
extern rtx_insn *gen_split_707 (rtx_insn *, rtx *);
rtx_insn *
gen_split_707 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_707 (sse.md:1897)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_NOT (SImode,
	operand1),
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1897 */
extern rtx_insn *gen_split_708 (rtx_insn *, rtx *);
rtx_insn *
gen_split_708 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_708 (sse.md:1897)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_AND (DImode,
	gen_rtx_NOT (DImode,
	operand1),
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1956 */
extern rtx_insn *gen_split_709 (rtx_insn *, rtx *);
rtx_insn *
gen_split_709 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_709 (sse.md:1956)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_NOT (QImode,
	operand1)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1956 */
extern rtx_insn *gen_split_710 (rtx_insn *, rtx *);
rtx_insn *
gen_split_710 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_710 (sse.md:1956)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_NOT (HImode,
	operand1)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1956 */
extern rtx_insn *gen_split_711 (rtx_insn *, rtx *);
rtx_insn *
gen_split_711 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_711 (sse.md:1956)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_NOT (SImode,
	operand1)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1956 */
extern rtx_insn *gen_split_712 (rtx_insn *, rtx *);
rtx_insn *
gen_split_712 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_712 (sse.md:1956)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_NOT (DImode,
	operand1)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:1977 */
extern rtx_insn *gen_split_713 (rtx_insn *, rtx *);
rtx_insn *
gen_split_713 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_713 (sse.md:1977)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_NOT (SImode,
	operand1))),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2015 */
extern rtx_insn *gen_split_714 (rtx_insn *, rtx *);
rtx_insn *
gen_split_714 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_714 (sse.md:2015)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (QImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2015 */
extern rtx_insn *gen_split_715 (rtx_insn *, rtx *);
rtx_insn *
gen_split_715 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_715 (sse.md:2015)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (QImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2015 */
extern rtx_insn *gen_split_716 (rtx_insn *, rtx *);
rtx_insn *
gen_split_716 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_716 (sse.md:2015)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (HImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2015 */
extern rtx_insn *gen_split_717 (rtx_insn *, rtx *);
rtx_insn *
gen_split_717 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_717 (sse.md:2015)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (HImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2015 */
extern rtx_insn *gen_split_718 (rtx_insn *, rtx *);
rtx_insn *
gen_split_718 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_718 (sse.md:2015)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (SImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2015 */
extern rtx_insn *gen_split_719 (rtx_insn *, rtx *);
rtx_insn *
gen_split_719 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_719 (sse.md:2015)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (SImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2015 */
extern rtx_insn *gen_split_720 (rtx_insn *, rtx *);
rtx_insn *
gen_split_720 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_720 (sse.md:2015)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (DImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2015 */
extern rtx_insn *gen_split_721 (rtx_insn *, rtx *);
rtx_insn *
gen_split_721 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_721 (sse.md:2015)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (DImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2095 */
rtx
gen_absv32hf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2100 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_fp_absneg_operator (ABS, V32HFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V32HFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2095 */
rtx
gen_negv32hf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2100 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_fp_absneg_operator (NEG, V32HFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (V32HFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2095 */
rtx
gen_absv16hf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2100 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_fp_absneg_operator (ABS, V16HFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V16HFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2095 */
rtx
gen_negv16hf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2100 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_fp_absneg_operator (NEG, V16HFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (V16HFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2095 */
rtx
gen_absv8hf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2100 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_fp_absneg_operator (ABS, V8HFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V8HFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2095 */
rtx
gen_negv8hf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2100 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_fp_absneg_operator (NEG, V8HFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (V8HFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2095 */
rtx
gen_absv16sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2100 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_fp_absneg_operator (ABS, V16SFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V16SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2095 */
rtx
gen_negv16sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2100 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_fp_absneg_operator (NEG, V16SFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (V16SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2095 */
rtx
gen_absv8sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2100 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_fp_absneg_operator (ABS, V8SFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V8SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2095 */
rtx
gen_negv8sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2100 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_fp_absneg_operator (NEG, V8SFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (V8SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2095 */
rtx
gen_absv4sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2100 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_fp_absneg_operator (ABS, V4SFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V4SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2095 */
rtx
gen_negv4sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2100 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_fp_absneg_operator (NEG, V4SFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (V4SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2095 */
rtx
gen_absv8df2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2100 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_fp_absneg_operator (ABS, V8DFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V8DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2095 */
rtx
gen_negv8df2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2100 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_fp_absneg_operator (NEG, V8DFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (V8DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2095 */
rtx
gen_absv4df2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2100 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_fp_absneg_operator (ABS, V4DFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V4DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2095 */
rtx
gen_negv4df2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2100 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_fp_absneg_operator (NEG, V4DFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (V4DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2095 */
rtx
gen_absv2df2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2100 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_fp_absneg_operator (ABS, V2DFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V2DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2095 */
rtx
gen_negv2df2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2100 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_fp_absneg_operator (NEG, V2DFmode, operands); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_NEG (V2DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2102 */
extern rtx_insn *gen_split_722 (rtx_insn *, rtx *);
rtx_insn *
gen_split_722 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_722 (sse.md:2102)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2112 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V32HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2102 */
extern rtx_insn *gen_split_723 (rtx_insn *, rtx *);
rtx_insn *
gen_split_723 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_723 (sse.md:2102)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2112 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V32HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2102 */
extern rtx_insn *gen_split_724 (rtx_insn *, rtx *);
rtx_insn *
gen_split_724 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_724 (sse.md:2102)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2112 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V16HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2102 */
extern rtx_insn *gen_split_725 (rtx_insn *, rtx *);
rtx_insn *
gen_split_725 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_725 (sse.md:2102)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2112 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V16HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2102 */
extern rtx_insn *gen_split_726 (rtx_insn *, rtx *);
rtx_insn *
gen_split_726 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_726 (sse.md:2102)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2112 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V8HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2102 */
extern rtx_insn *gen_split_727 (rtx_insn *, rtx *);
rtx_insn *
gen_split_727 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_727 (sse.md:2102)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2112 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V8HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2102 */
extern rtx_insn *gen_split_728 (rtx_insn *, rtx *);
rtx_insn *
gen_split_728 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_728 (sse.md:2102)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2112 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V16SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2102 */
extern rtx_insn *gen_split_729 (rtx_insn *, rtx *);
rtx_insn *
gen_split_729 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_729 (sse.md:2102)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2112 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V16SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2102 */
extern rtx_insn *gen_split_730 (rtx_insn *, rtx *);
rtx_insn *
gen_split_730 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_730 (sse.md:2102)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2112 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V8SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2102 */
extern rtx_insn *gen_split_731 (rtx_insn *, rtx *);
rtx_insn *
gen_split_731 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_731 (sse.md:2102)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2112 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V8SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2102 */
extern rtx_insn *gen_split_732 (rtx_insn *, rtx *);
rtx_insn *
gen_split_732 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_732 (sse.md:2102)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2112 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V4SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2102 */
extern rtx_insn *gen_split_733 (rtx_insn *, rtx *);
rtx_insn *
gen_split_733 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_733 (sse.md:2102)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2112 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V4SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2102 */
extern rtx_insn *gen_split_734 (rtx_insn *, rtx *);
rtx_insn *
gen_split_734 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_734 (sse.md:2102)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2112 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V8DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2102 */
extern rtx_insn *gen_split_735 (rtx_insn *, rtx *);
rtx_insn *
gen_split_735 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_735 (sse.md:2102)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2112 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V8DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2102 */
extern rtx_insn *gen_split_736 (rtx_insn *, rtx *);
rtx_insn *
gen_split_736 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_736 (sse.md:2102)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2112 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V4DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2102 */
extern rtx_insn *gen_split_737 (rtx_insn *, rtx *);
rtx_insn *
gen_split_737 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_737 (sse.md:2102)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2112 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V4DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2102 */
extern rtx_insn *gen_split_738 (rtx_insn *, rtx *);
rtx_insn *
gen_split_738 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_738 (sse.md:2102)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2112 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V2DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2102 */
extern rtx_insn *gen_split_739 (rtx_insn *, rtx *);
rtx_insn *
gen_split_739 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_739 (sse.md:2102)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2112 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V2DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2126 */
extern rtx_insn *gen_split_740 (rtx_insn *, rtx *);
rtx_insn *
gen_split_740 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_740 (sse.md:2126)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V16SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2126 */
extern rtx_insn *gen_split_741 (rtx_insn *, rtx *);
rtx_insn *
gen_split_741 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_741 (sse.md:2126)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V8SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2126 */
extern rtx_insn *gen_split_742 (rtx_insn *, rtx *);
rtx_insn *
gen_split_742 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_742 (sse.md:2126)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V4SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2126 */
extern rtx_insn *gen_split_743 (rtx_insn *, rtx *);
rtx_insn *
gen_split_743 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_743 (sse.md:2126)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V8DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2126 */
extern rtx_insn *gen_split_744 (rtx_insn *, rtx *);
rtx_insn *
gen_split_744 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_744 (sse.md:2126)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V4DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2126 */
extern rtx_insn *gen_split_745 (rtx_insn *, rtx *);
rtx_insn *
gen_split_745 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_745 (sse.md:2126)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX)
    {
      if (MEM_P (operands[1]))
        std::swap (operands[1], operands[2]);
    }
  else
   {
     if (operands_match_p (operands[0], operands[2]))
       std::swap (operands[1], operands[2]);
   }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V2DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2151 */
rtx
gen_cond_addv32hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_addv32hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_addv32hf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_PLUS (V32HFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2151 */
rtx
gen_cond_subv32hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_subv32hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_subv32hf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_MINUS (V32HFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2151 */
rtx
gen_cond_addv16hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_addv16hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_addv16hf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_PLUS (V16HFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2151 */
rtx
gen_cond_subv16hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_subv16hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_subv16hf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_MINUS (V16HFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2151 */
rtx
gen_cond_addv8hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_addv8hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_addv8hf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_PLUS (V8HFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2151 */
rtx
gen_cond_subv8hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_subv8hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_subv8hf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_MINUS (V8HFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2151 */
rtx
gen_cond_addv16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_addv16sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_addv16sf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_PLUS (V16SFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2151 */
rtx
gen_cond_subv16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_subv16sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_subv16sf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_MINUS (V16SFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2151 */
rtx
gen_cond_addv8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_addv8sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_addv8sf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_PLUS (V8SFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2151 */
rtx
gen_cond_subv8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_subv8sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_subv8sf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_MINUS (V8SFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2151 */
rtx
gen_cond_addv4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_addv4sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_addv4sf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_PLUS (V4SFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2151 */
rtx
gen_cond_subv4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_subv4sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_subv4sf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_MINUS (V4SFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2151 */
rtx
gen_cond_addv8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_addv8df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_addv8df3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_PLUS (V8DFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2151 */
rtx
gen_cond_subv8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_subv8df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_subv8df3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_MINUS (V8DFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2151 */
rtx
gen_cond_addv4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_addv4df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_addv4df3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_PLUS (V4DFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2151 */
rtx
gen_cond_subv4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_subv4df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_subv4df3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_MINUS (V4DFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2151 */
rtx
gen_cond_addv2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_addv2df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_addv2df3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_PLUS (V2DFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2151 */
rtx
gen_cond_subv2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_subv2df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_subv2df3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_MINUS (V2DFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv32hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V32HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V32HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv32hf3_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V32HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_PLUS (V32HFmode,
	operand1,
	operand2),
		operand3),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv32hf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V32HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_PLUS (V32HFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv32hf3_mask_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V32HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_PLUS (V32HFmode,
	operand1,
	operand2),
	operand3,
	operand4),
		operand5),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv32hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V32HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V32HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv32hf3_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V32HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_MINUS (V32HFmode,
	operand1,
	operand2),
		operand3),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv32hf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V32HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_MINUS (V32HFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv32hf3_mask_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V32HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_MINUS (V32HFmode,
	operand1,
	operand2),
	operand3,
	operand4),
		operand5),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv16hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V16HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V16HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv16hf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V16HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_PLUS (V16HFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv16hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V16HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V16HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv16hf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V16HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_MINUS (V16HFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv8hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V8HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V8HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv8hf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V8HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_PLUS (V8HFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv8hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V8HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V8HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv8hf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V8HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_MINUS (V8HFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv16sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V16SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V16SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv16sf3_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V16SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_PLUS (V16SFmode,
	operand1,
	operand2),
		operand3),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv16sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V16SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_PLUS (V16SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv16sf3_mask_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V16SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_PLUS (V16SFmode,
	operand1,
	operand2),
	operand3,
	operand4),
		operand5),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv16sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V16SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V16SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv16sf3_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V16SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_MINUS (V16SFmode,
	operand1,
	operand2),
		operand3),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv16sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V16SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_MINUS (V16SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv16sf3_mask_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V16SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_MINUS (V16SFmode,
	operand1,
	operand2),
	operand3,
	operand4),
		operand5),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv8sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V8SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V8SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv8sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V8SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_PLUS (V8SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv8sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V8SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V8SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv8sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V8SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_MINUS (V8SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv4sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V4SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V4SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv4sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V4SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_PLUS (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv4sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V4SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V4SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv4sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V4SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_MINUS (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv8df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V8DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V8DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv8df3_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V8DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_PLUS (V8DFmode,
	operand1,
	operand2),
		operand3),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv8df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V8DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_PLUS (V8DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv8df3_mask_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V8DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_PLUS (V8DFmode,
	operand1,
	operand2),
	operand3,
	operand4),
		operand5),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv8df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V8DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V8DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv8df3_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V8DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_MINUS (V8DFmode,
	operand1,
	operand2),
		operand3),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv8df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V8DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_MINUS (V8DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv8df3_mask_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V8DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_MINUS (V8DFmode,
	operand1,
	operand2),
	operand3,
	operand4),
		operand5),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv4df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V4DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V4DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv4df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V4DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_PLUS (V4DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv4df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V4DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V4DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv4df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V4DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_MINUS (V4DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv2df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V2DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V2DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_addv2df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V2DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_PLUS (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv2df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V2DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V2DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2169 */
rtx
gen_subv2df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2175 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V2DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_MINUS (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2240 */
rtx
gen_cond_mulv32hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_mulv32hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2249 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_mulv32hf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_MULT (V32HFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2240 */
rtx
gen_cond_mulv16hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_mulv16hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2249 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_mulv16hf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_MULT (V16HFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2240 */
rtx
gen_cond_mulv8hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_mulv8hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2249 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_mulv8hf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_MULT (V8HFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2240 */
rtx
gen_cond_mulv16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_mulv16sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2249 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_mulv16sf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_MULT (V16SFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2240 */
rtx
gen_cond_mulv8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_mulv8sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2249 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_mulv8sf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_MULT (V8SFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2240 */
rtx
gen_cond_mulv4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_mulv4sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2249 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_mulv4sf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_MULT (V4SFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2240 */
rtx
gen_cond_mulv8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_mulv8df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2249 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_mulv8df3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_MULT (V8DFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2240 */
rtx
gen_cond_mulv4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_mulv4df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2249 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_mulv4df3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_MULT (V4DFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2240 */
rtx
gen_cond_mulv2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_mulv2df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2249 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_mulv2df3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_MULT (V2DFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv32hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V32HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V32HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv32hf3_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V32HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_MULT (V32HFmode,
	operand1,
	operand2),
		operand3),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv32hf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V32HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_MULT (V32HFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv32hf3_mask_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V32HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_MULT (V32HFmode,
	operand1,
	operand2),
	operand3,
	operand4),
		operand5),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv16hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V16HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V16HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv16hf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V16HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_MULT (V16HFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv8hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V8HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V8HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv8hf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V8HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_MULT (V8HFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv16sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V16SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V16SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv16sf3_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V16SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_MULT (V16SFmode,
	operand1,
	operand2),
		operand3),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv16sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V16SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_MULT (V16SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv16sf3_mask_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V16SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_MULT (V16SFmode,
	operand1,
	operand2),
	operand3,
	operand4),
		operand5),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv8sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V8SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V8SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv8sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V8SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_MULT (V8SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv4sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V4SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V4SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv4sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V4SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_MULT (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv8df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V8DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V8DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv8df3_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V8DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_MULT (V8DFmode,
	operand1,
	operand2),
		operand3),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv8df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V8DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_MULT (V8DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv8df3_mask_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V8DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_MULT (V8DFmode,
	operand1,
	operand2),
	operand3,
	operand4),
		operand5),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv4df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V4DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V4DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv4df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V4DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_MULT (V4DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv2df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V2DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V2DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2258 */
rtx
gen_mulv2df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2264 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V2DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_MULT (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2332 */
rtx
gen_divv8df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_DIV (V8DFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2332 */
rtx
gen_divv4df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_DIV (V4DFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2332 */
rtx
gen_divv2df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_DIV (V2DFmode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2338 */
rtx
gen_divv32hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2344 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* Transform HF vector div to vector mul/rcp.  */
  if (GET_MODE_INNER (V32HFmode) == HFmode
      && TARGET_RECIP_VEC_DIV
      && optimize_insn_for_speed_p ()
      && flag_finite_math_only && !flag_trapping_math
      && flag_unsafe_math_optimizations)
    {
      rtx op = gen_reg_rtx (V32HFmode);
      operands[2] = force_reg (V32HFmode, operands[2]);
      emit_insn (gen_avx512fp16_rcpv32hf2 (op, operands[2]));
      emit_insn (gen_mulv32hf3 (operands[0], operands[1], op));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_DIV (V32HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2338 */
rtx
gen_divv16hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2344 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* Transform HF vector div to vector mul/rcp.  */
  if (GET_MODE_INNER (V16HFmode) == HFmode
      && TARGET_RECIP_VEC_DIV
      && optimize_insn_for_speed_p ()
      && flag_finite_math_only && !flag_trapping_math
      && flag_unsafe_math_optimizations)
    {
      rtx op = gen_reg_rtx (V16HFmode);
      operands[2] = force_reg (V16HFmode, operands[2]);
      emit_insn (gen_avx512fp16_rcpv16hf2 (op, operands[2]));
      emit_insn (gen_mulv16hf3 (operands[0], operands[1], op));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_DIV (V16HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2338 */
rtx
gen_divv8hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2344 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* Transform HF vector div to vector mul/rcp.  */
  if (GET_MODE_INNER (V8HFmode) == HFmode
      && TARGET_RECIP_VEC_DIV
      && optimize_insn_for_speed_p ()
      && flag_finite_math_only && !flag_trapping_math
      && flag_unsafe_math_optimizations)
    {
      rtx op = gen_reg_rtx (V8HFmode);
      operands[2] = force_reg (V8HFmode, operands[2]);
      emit_insn (gen_avx512fp16_rcpv8hf2 (op, operands[2]));
      emit_insn (gen_mulv8hf3 (operands[0], operands[1], op));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_DIV (V8HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2360 */
rtx
gen_divv16sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2365 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE_MATH
      && TARGET_RECIP_VEC_DIV
      && !optimize_insn_for_size_p ()
      && flag_finite_math_only && !flag_trapping_math
      && flag_unsafe_math_optimizations)
    {
      ix86_emit_swdivsf (operands[0], operands[1], operands[2], V16SFmode);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_DIV (V16SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2360 */
rtx
gen_divv8sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2365 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE_MATH
      && TARGET_RECIP_VEC_DIV
      && !optimize_insn_for_size_p ()
      && flag_finite_math_only && !flag_trapping_math
      && flag_unsafe_math_optimizations)
    {
      ix86_emit_swdivsf (operands[0], operands[1], operands[2], V8SFmode);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_DIV (V8SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2360 */
rtx
gen_divv4sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2365 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE_MATH
      && TARGET_RECIP_VEC_DIV
      && !optimize_insn_for_size_p ()
      && flag_finite_math_only && !flag_trapping_math
      && flag_unsafe_math_optimizations)
    {
      ix86_emit_swdivsf (operands[0], operands[1], operands[2], V4SFmode);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_DIV (V4SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2377 */
rtx
gen_cond_divv32hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_divv32hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2386 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512fp16_divv32hf3_mask (operands[0],
					operands[2],
					operands[3],
					operands[4],
					operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_DIV (V32HFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2377 */
rtx
gen_cond_divv16hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_divv16hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2386 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512fp16_divv16hf3_mask (operands[0],
					operands[2],
					operands[3],
					operands[4],
					operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_DIV (V16HFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2377 */
rtx
gen_cond_divv8hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_divv8hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2386 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512fp16_divv8hf3_mask (operands[0],
					operands[2],
					operands[3],
					operands[4],
					operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_DIV (V8HFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2377 */
rtx
gen_cond_divv16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_divv16sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2386 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_divv16sf3_mask (operands[0],
					operands[2],
					operands[3],
					operands[4],
					operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_DIV (V16SFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2377 */
rtx
gen_cond_divv8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_divv8sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2386 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx_divv8sf3_mask (operands[0],
					operands[2],
					operands[3],
					operands[4],
					operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_DIV (V8SFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2377 */
rtx
gen_cond_divv4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_divv4sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2386 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sse_divv4sf3_mask (operands[0],
					operands[2],
					operands[3],
					operands[4],
					operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_DIV (V4SFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2377 */
rtx
gen_cond_divv8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_divv8df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2386 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_divv8df3_mask (operands[0],
					operands[2],
					operands[3],
					operands[4],
					operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_DIV (V8DFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2377 */
rtx
gen_cond_divv4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_divv4df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2386 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx_divv4df3_mask (operands[0],
					operands[2],
					operands[3],
					operands[4],
					operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_DIV (V4DFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2377 */
rtx
gen_cond_divv2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_divv2df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2386 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sse2_divv2df3_mask (operands[0],
					operands[2],
					operands[3],
					operands[4],
					operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_DIV (V2DFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2538 */
rtx
gen_sqrtv32hf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SQRT (V32HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2538 */
rtx
gen_sqrtv16hf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SQRT (V16HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2538 */
rtx
gen_sqrtv8hf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SQRT (V8HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2538 */
rtx
gen_sqrtv8df2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SQRT (V8DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2538 */
rtx
gen_sqrtv4df2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SQRT (V4DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2538 */
rtx
gen_sqrtv2df2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SQRT (V2DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2543 */
rtx
gen_sqrtv16sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"sqrtv16sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2547 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE_MATH
      && TARGET_RECIP_VEC_SQRT
      && !optimize_insn_for_size_p ()
      && flag_finite_math_only && !flag_trapping_math
      && flag_unsafe_math_optimizations)
    {
      ix86_emit_swsqrtsf (operands[0], operands[1], V16SFmode, false);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SQRT (V16SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2543 */
rtx
gen_sqrtv8sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"sqrtv8sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2547 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE_MATH
      && TARGET_RECIP_VEC_SQRT
      && !optimize_insn_for_size_p ()
      && flag_finite_math_only && !flag_trapping_math
      && flag_unsafe_math_optimizations)
    {
      ix86_emit_swsqrtsf (operands[0], operands[1], V8SFmode, false);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SQRT (V8SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2543 */
rtx
gen_sqrtv4sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"sqrtv4sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2547 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE_MATH
      && TARGET_RECIP_VEC_SQRT
      && !optimize_insn_for_size_p ()
      && flag_finite_math_only && !flag_trapping_math
      && flag_unsafe_math_optimizations)
    {
      ix86_emit_swsqrtsf (operands[0], operands[1], V4SFmode, false);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SQRT (V4SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2610 */
rtx
gen_rsqrtv16sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"rsqrtv16sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2616 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_emit_swsqrtsf (operands[0], operands[1], V16SFmode, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (1,
		operand1),
	49)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2610 */
rtx
gen_rsqrtv8sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"rsqrtv8sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2616 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_emit_swsqrtsf (operands[0], operands[1], V8SFmode, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (1,
		operand1),
	49)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2610 */
rtx
gen_rsqrtv4sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"rsqrtv4sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2616 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_emit_swsqrtsf (operands[0], operands[1], V4SFmode, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	49)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2621 */
rtx
gen_rsqrtv32hf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (1,
		operand1),
	49));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2621 */
rtx
gen_rsqrtv16hf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (1,
		operand1),
	49));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2621 */
rtx
gen_rsqrtv8hf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (1,
		operand1),
	49));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2750 */
rtx
gen_cond_smaxv32hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2759 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_smaxv32hf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_SMAX (V32HFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2750 */
rtx
gen_cond_sminv32hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2759 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sminv32hf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_SMIN (V32HFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2750 */
rtx
gen_cond_smaxv16hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2759 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_smaxv16hf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_SMAX (V16HFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2750 */
rtx
gen_cond_sminv16hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2759 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sminv16hf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_SMIN (V16HFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2750 */
rtx
gen_cond_smaxv8hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2759 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_smaxv8hf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_SMAX (V8HFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2750 */
rtx
gen_cond_sminv8hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2759 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sminv8hf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_SMIN (V8HFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2750 */
rtx
gen_cond_smaxv16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2759 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_smaxv16sf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_SMAX (V16SFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2750 */
rtx
gen_cond_sminv16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2759 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sminv16sf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_SMIN (V16SFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2750 */
rtx
gen_cond_smaxv8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2759 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_smaxv8sf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_SMAX (V8SFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2750 */
rtx
gen_cond_sminv8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2759 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sminv8sf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_SMIN (V8SFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2750 */
rtx
gen_cond_smaxv4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2759 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_smaxv4sf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_SMAX (V4SFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2750 */
rtx
gen_cond_sminv4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2759 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sminv4sf3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_SMIN (V4SFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2750 */
rtx
gen_cond_smaxv8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2759 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_smaxv8df3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_SMAX (V8DFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2750 */
rtx
gen_cond_sminv8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2759 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sminv8df3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_SMIN (V8DFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2750 */
rtx
gen_cond_smaxv4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2759 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_smaxv4df3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_SMAX (V4DFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2750 */
rtx
gen_cond_sminv4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2759 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sminv4df3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_SMIN (V4DFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2750 */
rtx
gen_cond_smaxv2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2759 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_smaxv2df3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_SMAX (V2DFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2750 */
rtx
gen_cond_sminv2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2759 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sminv2df3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_SMIN (V2DFmode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv32hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V32HFmode, operands[1]);
      emit_insn (gen_ieee_maxv32hf3
		 (operands[0], operands[1], operands[2]
		  
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V32HFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V32HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv32hf3_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V32HFmode, operands[1]);
      emit_insn (gen_ieee_maxv32hf3_round
		 (operands[0], operands[1], operands[2]
		  
		  , operands[3]));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V32HFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_SMAX (V32HFmode,
	operand1,
	operand2),
		operand3),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv32hf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V32HFmode, operands[1]);
      emit_insn (gen_ieee_maxv32hf3_mask
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V32HFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_SMAX (V32HFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv32hf3_mask_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V32HFmode, operands[1]);
      emit_insn (gen_ieee_maxv32hf3_mask_round
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  , operands[5]));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V32HFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_SMAX (V32HFmode,
	operand1,
	operand2),
	operand3,
	operand4),
		operand5),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv32hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V32HFmode, operands[1]);
      emit_insn (gen_ieee_minv32hf3
		 (operands[0], operands[1], operands[2]
		  
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V32HFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V32HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv32hf3_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V32HFmode, operands[1]);
      emit_insn (gen_ieee_minv32hf3_round
		 (operands[0], operands[1], operands[2]
		  
		  , operands[3]));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V32HFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_SMIN (V32HFmode,
	operand1,
	operand2),
		operand3),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv32hf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V32HFmode, operands[1]);
      emit_insn (gen_ieee_minv32hf3_mask
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V32HFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_SMIN (V32HFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv32hf3_mask_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V32HFmode, operands[1]);
      emit_insn (gen_ieee_minv32hf3_mask_round
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  , operands[5]));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V32HFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_SMIN (V32HFmode,
	operand1,
	operand2),
	operand3,
	operand4),
		operand5),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv16hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V16HFmode, operands[1]);
      emit_insn (gen_ieee_maxv16hf3
		 (operands[0], operands[1], operands[2]
		  
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V16HFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V16HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv16hf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V16HFmode, operands[1]);
      emit_insn (gen_ieee_maxv16hf3_mask
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V16HFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_SMAX (V16HFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv16hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V16HFmode, operands[1]);
      emit_insn (gen_ieee_minv16hf3
		 (operands[0], operands[1], operands[2]
		  
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V16HFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V16HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv16hf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V16HFmode, operands[1]);
      emit_insn (gen_ieee_minv16hf3_mask
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V16HFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_SMIN (V16HFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv8hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V8HFmode, operands[1]);
      emit_insn (gen_ieee_maxv8hf3
		 (operands[0], operands[1], operands[2]
		  
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V8HFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V8HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv8hf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V8HFmode, operands[1]);
      emit_insn (gen_ieee_maxv8hf3_mask
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V8HFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_SMAX (V8HFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv8hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V8HFmode, operands[1]);
      emit_insn (gen_ieee_minv8hf3
		 (operands[0], operands[1], operands[2]
		  
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V8HFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V8HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv8hf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V8HFmode, operands[1]);
      emit_insn (gen_ieee_minv8hf3_mask
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V8HFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_SMIN (V8HFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv16sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V16SFmode, operands[1]);
      emit_insn (gen_ieee_maxv16sf3
		 (operands[0], operands[1], operands[2]
		  
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V16SFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V16SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv16sf3_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V16SFmode, operands[1]);
      emit_insn (gen_ieee_maxv16sf3_round
		 (operands[0], operands[1], operands[2]
		  
		  , operands[3]));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V16SFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_SMAX (V16SFmode,
	operand1,
	operand2),
		operand3),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv16sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V16SFmode, operands[1]);
      emit_insn (gen_ieee_maxv16sf3_mask
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V16SFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_SMAX (V16SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv16sf3_mask_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V16SFmode, operands[1]);
      emit_insn (gen_ieee_maxv16sf3_mask_round
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  , operands[5]));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V16SFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_SMAX (V16SFmode,
	operand1,
	operand2),
	operand3,
	operand4),
		operand5),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv16sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V16SFmode, operands[1]);
      emit_insn (gen_ieee_minv16sf3
		 (operands[0], operands[1], operands[2]
		  
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V16SFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V16SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv16sf3_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V16SFmode, operands[1]);
      emit_insn (gen_ieee_minv16sf3_round
		 (operands[0], operands[1], operands[2]
		  
		  , operands[3]));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V16SFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_SMIN (V16SFmode,
	operand1,
	operand2),
		operand3),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv16sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V16SFmode, operands[1]);
      emit_insn (gen_ieee_minv16sf3_mask
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V16SFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_SMIN (V16SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv16sf3_mask_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V16SFmode, operands[1]);
      emit_insn (gen_ieee_minv16sf3_mask_round
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  , operands[5]));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V16SFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_SMIN (V16SFmode,
	operand1,
	operand2),
	operand3,
	operand4),
		operand5),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv8sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V8SFmode, operands[1]);
      emit_insn (gen_ieee_maxv8sf3
		 (operands[0], operands[1], operands[2]
		  
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V8SFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V8SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv8sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V8SFmode, operands[1]);
      emit_insn (gen_ieee_maxv8sf3_mask
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V8SFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_SMAX (V8SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv8sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V8SFmode, operands[1]);
      emit_insn (gen_ieee_minv8sf3
		 (operands[0], operands[1], operands[2]
		  
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V8SFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V8SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv8sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V8SFmode, operands[1]);
      emit_insn (gen_ieee_minv8sf3_mask
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V8SFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_SMIN (V8SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv4sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V4SFmode, operands[1]);
      emit_insn (gen_ieee_maxv4sf3
		 (operands[0], operands[1], operands[2]
		  
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V4SFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V4SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv4sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V4SFmode, operands[1]);
      emit_insn (gen_ieee_maxv4sf3_mask
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V4SFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_SMAX (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv4sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V4SFmode, operands[1]);
      emit_insn (gen_ieee_minv4sf3
		 (operands[0], operands[1], operands[2]
		  
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V4SFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V4SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv4sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V4SFmode, operands[1]);
      emit_insn (gen_ieee_minv4sf3_mask
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V4SFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_SMIN (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv8df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V8DFmode, operands[1]);
      emit_insn (gen_ieee_maxv8df3
		 (operands[0], operands[1], operands[2]
		  
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V8DFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V8DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv8df3_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V8DFmode, operands[1]);
      emit_insn (gen_ieee_maxv8df3_round
		 (operands[0], operands[1], operands[2]
		  
		  , operands[3]));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V8DFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_SMAX (V8DFmode,
	operand1,
	operand2),
		operand3),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv8df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V8DFmode, operands[1]);
      emit_insn (gen_ieee_maxv8df3_mask
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V8DFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_SMAX (V8DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv8df3_mask_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V8DFmode, operands[1]);
      emit_insn (gen_ieee_maxv8df3_mask_round
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  , operands[5]));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V8DFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_SMAX (V8DFmode,
	operand1,
	operand2),
	operand3,
	operand4),
		operand5),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv8df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V8DFmode, operands[1]);
      emit_insn (gen_ieee_minv8df3
		 (operands[0], operands[1], operands[2]
		  
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V8DFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V8DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv8df3_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V8DFmode, operands[1]);
      emit_insn (gen_ieee_minv8df3_round
		 (operands[0], operands[1], operands[2]
		  
		  , operands[3]));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V8DFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_SMIN (V8DFmode,
	operand1,
	operand2),
		operand3),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv8df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V8DFmode, operands[1]);
      emit_insn (gen_ieee_minv8df3_mask
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V8DFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_SMIN (V8DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv8df3_mask_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V8DFmode, operands[1]);
      emit_insn (gen_ieee_minv8df3_mask_round
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  , operands[5]));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V8DFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_SMIN (V8DFmode,
	operand1,
	operand2),
	operand3,
	operand4),
		operand5),
	162)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv4df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V4DFmode, operands[1]);
      emit_insn (gen_ieee_maxv4df3
		 (operands[0], operands[1], operands[2]
		  
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V4DFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V4DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv4df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V4DFmode, operands[1]);
      emit_insn (gen_ieee_maxv4df3_mask
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V4DFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_SMAX (V4DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv4df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V4DFmode, operands[1]);
      emit_insn (gen_ieee_minv4df3
		 (operands[0], operands[1], operands[2]
		  
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V4DFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V4DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv4df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V4DFmode, operands[1]);
      emit_insn (gen_ieee_minv4df3_mask
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V4DFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_SMIN (V4DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv2df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V2DFmode, operands[1]);
      emit_insn (gen_ieee_maxv2df3
		 (operands[0], operands[1], operands[2]
		  
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V2DFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V2DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_smaxv2df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V2DFmode, operands[1]);
      emit_insn (gen_ieee_maxv2df3_mask
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMAX, V2DFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_SMAX (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv2df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V2DFmode, operands[1]);
      emit_insn (gen_ieee_minv2df3
		 (operands[0], operands[1], operands[2]
		  
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V2DFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V2DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2768 */
rtx
gen_sminv2df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2775 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!flag_finite_math_only || flag_signed_zeros)
    {
      operands[1] = force_reg (V2DFmode, operands[1]);
      emit_insn (gen_ieee_minv2df3_mask
		 (operands[0], operands[1], operands[2]
		  , operands[3], operands[4]
		  ));
      DONE;
    }
  else
    ix86_fixup_binary_operands_no_copy (SMIN, V2DFmode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_SMIN (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2918 */
extern rtx_insn *gen_split_746 (rtx_insn *, rtx *);
rtx_insn *
gen_split_746 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_746 (sse.md:2918)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_MINUS (V8SFmode,
	operand1,
	operand2),
	gen_rtx_PLUS (V8SFmode,
	copy_rtx (operand1),
	copy_rtx (operand2)),
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2918 */
extern rtx_insn *gen_split_747 (rtx_insn *, rtx *);
rtx_insn *
gen_split_747 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_747 (sse.md:2918)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_MINUS (V4SFmode,
	operand1,
	operand2),
	gen_rtx_PLUS (V4SFmode,
	copy_rtx (operand1),
	copy_rtx (operand2)),
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2918 */
extern rtx_insn *gen_split_748 (rtx_insn *, rtx *);
rtx_insn *
gen_split_748 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_748 (sse.md:2918)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_MINUS (V4DFmode,
	operand1,
	operand2),
	gen_rtx_PLUS (V4DFmode,
	copy_rtx (operand1),
	copy_rtx (operand2)),
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2918 */
extern rtx_insn *gen_split_749 (rtx_insn *, rtx *);
rtx_insn *
gen_split_749 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_749 (sse.md:2918)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_MINUS (V2DFmode,
	operand1,
	operand2),
	gen_rtx_PLUS (V2DFmode,
	copy_rtx (operand1),
	copy_rtx (operand2)),
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2940 */
extern rtx_insn *gen_split_750 (rtx_insn *, rtx *);
rtx_insn *
gen_split_750 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_750 (sse.md:2940)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2961 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* Negate mask bits to compensate for swapped PLUS and MINUS RTXes.  */
  operands[5]
    = GEN_INT (~INTVAL (operands[5])
	       & ((HOST_WIDE_INT_1U << GET_MODE_NUNITS (V8SFmode)) - 1));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_MINUS (V8SFmode,
	operand3,
	operand4),
	gen_rtx_PLUS (V8SFmode,
	copy_rtx (operand3),
	copy_rtx (operand4)),
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2940 */
extern rtx_insn *gen_split_751 (rtx_insn *, rtx *);
rtx_insn *
gen_split_751 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_751 (sse.md:2940)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2961 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* Negate mask bits to compensate for swapped PLUS and MINUS RTXes.  */
  operands[5]
    = GEN_INT (~INTVAL (operands[5])
	       & ((HOST_WIDE_INT_1U << GET_MODE_NUNITS (V4SFmode)) - 1));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_MINUS (V4SFmode,
	operand3,
	operand4),
	gen_rtx_PLUS (V4SFmode,
	copy_rtx (operand3),
	copy_rtx (operand4)),
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2940 */
extern rtx_insn *gen_split_752 (rtx_insn *, rtx *);
rtx_insn *
gen_split_752 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_752 (sse.md:2940)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2961 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* Negate mask bits to compensate for swapped PLUS and MINUS RTXes.  */
  operands[5]
    = GEN_INT (~INTVAL (operands[5])
	       & ((HOST_WIDE_INT_1U << GET_MODE_NUNITS (V4DFmode)) - 1));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_MINUS (V4DFmode,
	operand3,
	operand4),
	gen_rtx_PLUS (V4DFmode,
	copy_rtx (operand3),
	copy_rtx (operand4)),
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2940 */
extern rtx_insn *gen_split_753 (rtx_insn *, rtx *);
rtx_insn *
gen_split_753 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_753 (sse.md:2940)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2961 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* Negate mask bits to compensate for swapped PLUS and MINUS RTXes.  */
  operands[5]
    = GEN_INT (~INTVAL (operands[5])
	       & ((HOST_WIDE_INT_1U << GET_MODE_NUNITS (V2DFmode)) - 1));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_MINUS (V2DFmode,
	operand3,
	operand4),
	gen_rtx_PLUS (V2DFmode,
	copy_rtx (operand3),
	copy_rtx (operand4)),
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2968 */
extern rtx_insn *gen_split_754 (rtx_insn *, rtx *);
rtx_insn *
gen_split_754 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_754 (sse.md:2968)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2991 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int i, nelt = XVECLEN (operands[5], 0);
  HOST_WIDE_INT ival = 0;

  for (i = 0; i < nelt; i++)
    if (INTVAL (XVECEXP (operands[5], 0, i)) < GET_MODE_NUNITS (V8SFmode))
      ival |= HOST_WIDE_INT_1 << i;

  operands[5] = GEN_INT (ival);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_MINUS (V8SFmode,
	operand1,
	operand2),
	gen_rtx_PLUS (V8SFmode,
	copy_rtx (operand1),
	copy_rtx (operand2)),
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2968 */
extern rtx_insn *gen_split_755 (rtx_insn *, rtx *);
rtx_insn *
gen_split_755 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_755 (sse.md:2968)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2991 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int i, nelt = XVECLEN (operands[5], 0);
  HOST_WIDE_INT ival = 0;

  for (i = 0; i < nelt; i++)
    if (INTVAL (XVECEXP (operands[5], 0, i)) < GET_MODE_NUNITS (V4SFmode))
      ival |= HOST_WIDE_INT_1 << i;

  operands[5] = GEN_INT (ival);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_MINUS (V4SFmode,
	operand1,
	operand2),
	gen_rtx_PLUS (V4SFmode,
	copy_rtx (operand1),
	copy_rtx (operand2)),
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2968 */
extern rtx_insn *gen_split_756 (rtx_insn *, rtx *);
rtx_insn *
gen_split_756 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_756 (sse.md:2968)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2991 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int i, nelt = XVECLEN (operands[5], 0);
  HOST_WIDE_INT ival = 0;

  for (i = 0; i < nelt; i++)
    if (INTVAL (XVECEXP (operands[5], 0, i)) < GET_MODE_NUNITS (V4DFmode))
      ival |= HOST_WIDE_INT_1 << i;

  operands[5] = GEN_INT (ival);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_MINUS (V4DFmode,
	operand1,
	operand2),
	gen_rtx_PLUS (V4DFmode,
	copy_rtx (operand1),
	copy_rtx (operand2)),
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:2968 */
extern rtx_insn *gen_split_757 (rtx_insn *, rtx *);
rtx_insn *
gen_split_757 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_757 (sse.md:2968)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 2991 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int i, nelt = XVECLEN (operands[5], 0);
  HOST_WIDE_INT ival = 0;

  for (i = 0; i < nelt; i++)
    if (INTVAL (XVECEXP (operands[5], 0, i)) < GET_MODE_NUNITS (V2DFmode))
      ival |= HOST_WIDE_INT_1 << i;

  operands[5] = GEN_INT (ival);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_MINUS (V2DFmode,
	operand1,
	operand2),
	gen_rtx_PLUS (V2DFmode,
	copy_rtx (operand1),
	copy_rtx (operand2)),
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3002 */
extern rtx_insn *gen_split_758 (rtx_insn *, rtx *);
rtx_insn *
gen_split_758 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_758 (sse.md:3002)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3025 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int i, nelt = XVECLEN (operands[5], 0);
  HOST_WIDE_INT ival = 0;

  for (i = 0; i < nelt; i++)
    if (INTVAL (XVECEXP (operands[5], 0, i)) >= GET_MODE_NUNITS (V8SFmode))
      ival |= HOST_WIDE_INT_1 << i;

  operands[5] = GEN_INT (ival);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_MINUS (V8SFmode,
	operand3,
	operand4),
	gen_rtx_PLUS (V8SFmode,
	copy_rtx (operand3),
	copy_rtx (operand4)),
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3002 */
extern rtx_insn *gen_split_759 (rtx_insn *, rtx *);
rtx_insn *
gen_split_759 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_759 (sse.md:3002)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3025 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int i, nelt = XVECLEN (operands[5], 0);
  HOST_WIDE_INT ival = 0;

  for (i = 0; i < nelt; i++)
    if (INTVAL (XVECEXP (operands[5], 0, i)) >= GET_MODE_NUNITS (V4SFmode))
      ival |= HOST_WIDE_INT_1 << i;

  operands[5] = GEN_INT (ival);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_MINUS (V4SFmode,
	operand3,
	operand4),
	gen_rtx_PLUS (V4SFmode,
	copy_rtx (operand3),
	copy_rtx (operand4)),
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3002 */
extern rtx_insn *gen_split_760 (rtx_insn *, rtx *);
rtx_insn *
gen_split_760 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_760 (sse.md:3002)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3025 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int i, nelt = XVECLEN (operands[5], 0);
  HOST_WIDE_INT ival = 0;

  for (i = 0; i < nelt; i++)
    if (INTVAL (XVECEXP (operands[5], 0, i)) >= GET_MODE_NUNITS (V4DFmode))
      ival |= HOST_WIDE_INT_1 << i;

  operands[5] = GEN_INT (ival);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_MINUS (V4DFmode,
	operand3,
	operand4),
	gen_rtx_PLUS (V4DFmode,
	copy_rtx (operand3),
	copy_rtx (operand4)),
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3002 */
extern rtx_insn *gen_split_761 (rtx_insn *, rtx *);
rtx_insn *
gen_split_761 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_761 (sse.md:3002)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3025 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int i, nelt = XVECLEN (operands[5], 0);
  HOST_WIDE_INT ival = 0;

  for (i = 0; i < nelt; i++)
    if (INTVAL (XVECEXP (operands[5], 0, i)) >= GET_MODE_NUNITS (V2DFmode))
      ival |= HOST_WIDE_INT_1 << i;

  operands[5] = GEN_INT (ival);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_MINUS (V2DFmode,
	operand3,
	operand4),
	gen_rtx_PLUS (V2DFmode,
	copy_rtx (operand3),
	copy_rtx (operand4)),
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3063 */
rtx
gen_sse3_haddv2df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V2DFmode,
	gen_rtx_PLUS (DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx)))),
	gen_rtx_PLUS (DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	gen_rtx_VEC_SELECT (DFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx))))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3244 */
rtx
gen_reduc_plus_scal_v2df (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"reduc_plus_scal_v2df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3249 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V2DFmode);
  ix86_expand_reduc (gen_addv2df3, tmp, operands[1]);
  emit_insn (gen_vec_extractv2dfdf (operands[0], tmp,
                                                        const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_PLUS (V2DFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3244 */
rtx
gen_reduc_plus_scal_v4sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"reduc_plus_scal_v4sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3249 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SFmode);
  ix86_expand_reduc (gen_addv4sf3, tmp, operands[1]);
  emit_insn (gen_vec_extractv4sfsf (operands[0], tmp,
                                                        const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_PLUS (V4SFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3244 */
rtx
gen_reduc_plus_scal_v8hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"reduc_plus_scal_v8hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3249 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8HFmode);
  ix86_expand_reduc (gen_addv8hf3, tmp, operands[1]);
  emit_insn (gen_vec_extractv8hfhf (operands[0], tmp,
                                                        const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_PLUS (V8HFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3257 */
rtx
gen_reduc_plus_scal_v16qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"reduc_plus_scal_v16qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3262 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V1TImode);
  emit_insn (gen_sse2_lshrv1ti3 (tmp, gen_lowpart (V1TImode, operands[1]),
				 GEN_INT (64)));
  rtx tmp2 = gen_reg_rtx (V16QImode);
  emit_insn (gen_addv16qi3 (tmp2, operands[1], gen_lowpart (V16QImode, tmp)));
  rtx tmp3 = gen_reg_rtx (V16QImode);
  emit_move_insn (tmp3, CONST0_RTX (V16QImode));
  rtx tmp4 = gen_reg_rtx (V2DImode);
  emit_insn (gen_sse2_psadbw (tmp4, tmp2, tmp3));
  tmp4 = gen_lowpart (V16QImode, tmp4);
  emit_insn (gen_vec_extractv16qiqi (operands[0], tmp4, const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_PLUS (V16QImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3284 */
rtx
gen_reduc_plus_scal_v4df (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"reduc_plus_scal_v4df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3289 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V2DFmode);
  emit_insn (gen_vec_extract_hi_v4df (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V2DFmode);
  rtx tmp3 = gen_lowpart (V2DFmode, operands[1]);
  emit_insn (gen_addv2df3 (tmp2, tmp, tmp3));
  emit_insn (gen_reduc_plus_scal_v2df (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_PLUS (V4DFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3284 */
rtx
gen_reduc_plus_scal_v8sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"reduc_plus_scal_v8sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3289 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SFmode);
  emit_insn (gen_vec_extract_hi_v8sf (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V4SFmode);
  rtx tmp3 = gen_lowpart (V4SFmode, operands[1]);
  emit_insn (gen_addv4sf3 (tmp2, tmp, tmp3));
  emit_insn (gen_reduc_plus_scal_v4sf (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_PLUS (V8SFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3284 */
rtx
gen_reduc_plus_scal_v16hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"reduc_plus_scal_v16hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3289 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8HFmode);
  emit_insn (gen_vec_extract_hi_v16hf (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V8HFmode);
  rtx tmp3 = gen_lowpart (V8HFmode, operands[1]);
  emit_insn (gen_addv8hf3 (tmp2, tmp, tmp3));
  emit_insn (gen_reduc_plus_scal_v8hf (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_PLUS (V16HFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3284 */
rtx
gen_reduc_plus_scal_v8df (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"reduc_plus_scal_v8df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3289 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4DFmode);
  emit_insn (gen_vec_extract_hi_v8df (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V4DFmode);
  rtx tmp3 = gen_lowpart (V4DFmode, operands[1]);
  emit_insn (gen_addv4df3 (tmp2, tmp, tmp3));
  emit_insn (gen_reduc_plus_scal_v4df (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_PLUS (V8DFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3284 */
rtx
gen_reduc_plus_scal_v16sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"reduc_plus_scal_v16sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3289 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8SFmode);
  emit_insn (gen_vec_extract_hi_v16sf (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V8SFmode);
  rtx tmp3 = gen_lowpart (V8SFmode, operands[1]);
  emit_insn (gen_addv8sf3 (tmp2, tmp, tmp3));
  emit_insn (gen_reduc_plus_scal_v8sf (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_PLUS (V16SFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3284 */
rtx
gen_reduc_plus_scal_v32hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"reduc_plus_scal_v32hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3289 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16HFmode);
  emit_insn (gen_vec_extract_hi_v32hf (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V16HFmode);
  rtx tmp3 = gen_lowpart (V16HFmode, operands[1]);
  emit_insn (gen_addv16hf3 (tmp2, tmp, tmp3));
  emit_insn (gen_reduc_plus_scal_v16hf (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_PLUS (V32HFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3284 */
rtx
gen_reduc_plus_scal_v32qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"reduc_plus_scal_v32qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3289 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16QImode);
  emit_insn (gen_vec_extract_hi_v32qi (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V16QImode);
  rtx tmp3 = gen_lowpart (V16QImode, operands[1]);
  emit_insn (gen_addv16qi3 (tmp2, tmp, tmp3));
  emit_insn (gen_reduc_plus_scal_v16qi (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_PLUS (V32QImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3284 */
rtx
gen_reduc_plus_scal_v64qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"reduc_plus_scal_v64qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3289 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V32QImode);
  emit_insn (gen_vec_extract_hi_v64qi (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V32QImode);
  rtx tmp3 = gen_lowpart (V32QImode, operands[1]);
  emit_insn (gen_addv32qi3 (tmp2, tmp, tmp3));
  emit_insn (gen_reduc_plus_scal_v32qi (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_PLUS (V64QImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3306 */
rtx
gen_reduc_smax_scal_v8hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3311 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8HFmode);
  ix86_expand_reduc (gen_smaxv8hf3, tmp, operands[1]);
  emit_insn (gen_vec_extractv8hfhf (operands[0], tmp,
							const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V8HFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3306 */
rtx
gen_reduc_smin_scal_v8hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3311 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8HFmode);
  ix86_expand_reduc (gen_sminv8hf3, tmp, operands[1]);
  emit_insn (gen_vec_extractv8hfhf (operands[0], tmp,
							const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V8HFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3306 */
rtx
gen_reduc_smax_scal_v4sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3311 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SFmode);
  ix86_expand_reduc (gen_smaxv4sf3, tmp, operands[1]);
  emit_insn (gen_vec_extractv4sfsf (operands[0], tmp,
							const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V4SFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3306 */
rtx
gen_reduc_smin_scal_v4sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3311 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SFmode);
  ix86_expand_reduc (gen_sminv4sf3, tmp, operands[1]);
  emit_insn (gen_vec_extractv4sfsf (operands[0], tmp,
							const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V4SFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3306 */
rtx
gen_reduc_smax_scal_v2df (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3311 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V2DFmode);
  ix86_expand_reduc (gen_smaxv2df3, tmp, operands[1]);
  emit_insn (gen_vec_extractv2dfdf (operands[0], tmp,
							const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V2DFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3306 */
rtx
gen_reduc_smin_scal_v2df (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3311 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V2DFmode);
  ix86_expand_reduc (gen_sminv2df3, tmp, operands[1]);
  emit_insn (gen_vec_extractv2dfdf (operands[0], tmp,
							const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V2DFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3306 */
rtx
gen_reduc_smax_scal_v4si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3311 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SImode);
  ix86_expand_reduc (gen_smaxv4si3, tmp, operands[1]);
  emit_insn (gen_vec_extractv4sisi (operands[0], tmp,
							const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V4SImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3306 */
rtx
gen_reduc_smin_scal_v4si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3311 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SImode);
  ix86_expand_reduc (gen_sminv4si3, tmp, operands[1]);
  emit_insn (gen_vec_extractv4sisi (operands[0], tmp,
							const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V4SImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3306 */
rtx
gen_reduc_smax_scal_v8hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3311 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8HImode);
  ix86_expand_reduc (gen_smaxv8hi3, tmp, operands[1]);
  emit_insn (gen_vec_extractv8hihi (operands[0], tmp,
							const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V8HImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3306 */
rtx
gen_reduc_smin_scal_v8hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3311 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8HImode);
  ix86_expand_reduc (gen_sminv8hi3, tmp, operands[1]);
  emit_insn (gen_vec_extractv8hihi (operands[0], tmp,
							const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V8HImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3306 */
rtx
gen_reduc_smax_scal_v16qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3311 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16QImode);
  ix86_expand_reduc (gen_smaxv16qi3, tmp, operands[1]);
  emit_insn (gen_vec_extractv16qiqi (operands[0], tmp,
							const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V16QImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3306 */
rtx
gen_reduc_smin_scal_v16qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3311 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16QImode);
  ix86_expand_reduc (gen_sminv16qi3, tmp, operands[1]);
  emit_insn (gen_vec_extractv16qiqi (operands[0], tmp,
							const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V16QImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3306 */
rtx
gen_reduc_smax_scal_v2di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3311 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V2DImode);
  ix86_expand_reduc (gen_smaxv2di3, tmp, operands[1]);
  emit_insn (gen_vec_extractv2didi (operands[0], tmp,
							const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V2DImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3306 */
rtx
gen_reduc_smin_scal_v2di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3311 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V2DImode);
  ix86_expand_reduc (gen_sminv2di3, tmp, operands[1]);
  emit_insn (gen_vec_extractv2didi (operands[0], tmp,
							const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V2DImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smax_scal_v32qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16QImode);
  emit_insn (gen_vec_extract_hi_v32qi (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V16QImode);
  emit_insn (gen_smaxv16qi3
    (tmp2, tmp, gen_lowpart (V16QImode, operands[1])));
  emit_insn (gen_reduc_smax_scal_v16qi (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V32QImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smin_scal_v32qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16QImode);
  emit_insn (gen_vec_extract_hi_v32qi (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V16QImode);
  emit_insn (gen_sminv16qi3
    (tmp2, tmp, gen_lowpart (V16QImode, operands[1])));
  emit_insn (gen_reduc_smin_scal_v16qi (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V32QImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smax_scal_v16hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8HImode);
  emit_insn (gen_vec_extract_hi_v16hi (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V8HImode);
  emit_insn (gen_smaxv8hi3
    (tmp2, tmp, gen_lowpart (V8HImode, operands[1])));
  emit_insn (gen_reduc_smax_scal_v8hi (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V16HImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smin_scal_v16hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8HImode);
  emit_insn (gen_vec_extract_hi_v16hi (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V8HImode);
  emit_insn (gen_sminv8hi3
    (tmp2, tmp, gen_lowpart (V8HImode, operands[1])));
  emit_insn (gen_reduc_smin_scal_v8hi (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V16HImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smax_scal_v16hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8HFmode);
  emit_insn (gen_vec_extract_hi_v16hf (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V8HFmode);
  emit_insn (gen_smaxv8hf3
    (tmp2, tmp, gen_lowpart (V8HFmode, operands[1])));
  emit_insn (gen_reduc_smax_scal_v8hf (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V16HFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smin_scal_v16hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8HFmode);
  emit_insn (gen_vec_extract_hi_v16hf (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V8HFmode);
  emit_insn (gen_sminv8hf3
    (tmp2, tmp, gen_lowpart (V8HFmode, operands[1])));
  emit_insn (gen_reduc_smin_scal_v8hf (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V16HFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smax_scal_v8si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SImode);
  emit_insn (gen_vec_extract_hi_v8si (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V4SImode);
  emit_insn (gen_smaxv4si3
    (tmp2, tmp, gen_lowpart (V4SImode, operands[1])));
  emit_insn (gen_reduc_smax_scal_v4si (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V8SImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smin_scal_v8si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SImode);
  emit_insn (gen_vec_extract_hi_v8si (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V4SImode);
  emit_insn (gen_sminv4si3
    (tmp2, tmp, gen_lowpart (V4SImode, operands[1])));
  emit_insn (gen_reduc_smin_scal_v4si (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V8SImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smax_scal_v4di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V2DImode);
  emit_insn (gen_vec_extract_hi_v4di (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V2DImode);
  emit_insn (gen_smaxv2di3
    (tmp2, tmp, gen_lowpart (V2DImode, operands[1])));
  emit_insn (gen_reduc_smax_scal_v2di (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V4DImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smin_scal_v4di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V2DImode);
  emit_insn (gen_vec_extract_hi_v4di (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V2DImode);
  emit_insn (gen_sminv2di3
    (tmp2, tmp, gen_lowpart (V2DImode, operands[1])));
  emit_insn (gen_reduc_smin_scal_v2di (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V4DImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smax_scal_v8sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SFmode);
  emit_insn (gen_vec_extract_hi_v8sf (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V4SFmode);
  emit_insn (gen_smaxv4sf3
    (tmp2, tmp, gen_lowpart (V4SFmode, operands[1])));
  emit_insn (gen_reduc_smax_scal_v4sf (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V8SFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smin_scal_v8sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SFmode);
  emit_insn (gen_vec_extract_hi_v8sf (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V4SFmode);
  emit_insn (gen_sminv4sf3
    (tmp2, tmp, gen_lowpart (V4SFmode, operands[1])));
  emit_insn (gen_reduc_smin_scal_v4sf (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V8SFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smax_scal_v4df (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V2DFmode);
  emit_insn (gen_vec_extract_hi_v4df (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V2DFmode);
  emit_insn (gen_smaxv2df3
    (tmp2, tmp, gen_lowpart (V2DFmode, operands[1])));
  emit_insn (gen_reduc_smax_scal_v2df (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V4DFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smin_scal_v4df (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V2DFmode);
  emit_insn (gen_vec_extract_hi_v4df (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V2DFmode);
  emit_insn (gen_sminv2df3
    (tmp2, tmp, gen_lowpart (V2DFmode, operands[1])));
  emit_insn (gen_reduc_smin_scal_v2df (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V4DFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smax_scal_v64qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V32QImode);
  emit_insn (gen_vec_extract_hi_v64qi (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V32QImode);
  emit_insn (gen_smaxv32qi3
    (tmp2, tmp, gen_lowpart (V32QImode, operands[1])));
  emit_insn (gen_reduc_smax_scal_v32qi (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V64QImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smin_scal_v64qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V32QImode);
  emit_insn (gen_vec_extract_hi_v64qi (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V32QImode);
  emit_insn (gen_sminv32qi3
    (tmp2, tmp, gen_lowpart (V32QImode, operands[1])));
  emit_insn (gen_reduc_smin_scal_v32qi (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V64QImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smax_scal_v32hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16HFmode);
  emit_insn (gen_vec_extract_hi_v32hf (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V16HFmode);
  emit_insn (gen_smaxv16hf3
    (tmp2, tmp, gen_lowpart (V16HFmode, operands[1])));
  emit_insn (gen_reduc_smax_scal_v16hf (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V32HFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smin_scal_v32hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16HFmode);
  emit_insn (gen_vec_extract_hi_v32hf (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V16HFmode);
  emit_insn (gen_sminv16hf3
    (tmp2, tmp, gen_lowpart (V16HFmode, operands[1])));
  emit_insn (gen_reduc_smin_scal_v16hf (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V32HFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smax_scal_v32hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16HImode);
  emit_insn (gen_vec_extract_hi_v32hi (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V16HImode);
  emit_insn (gen_smaxv16hi3
    (tmp2, tmp, gen_lowpart (V16HImode, operands[1])));
  emit_insn (gen_reduc_smax_scal_v16hi (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V32HImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smin_scal_v32hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16HImode);
  emit_insn (gen_vec_extract_hi_v32hi (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V16HImode);
  emit_insn (gen_sminv16hi3
    (tmp2, tmp, gen_lowpart (V16HImode, operands[1])));
  emit_insn (gen_reduc_smin_scal_v16hi (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V32HImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smax_scal_v16si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8SImode);
  emit_insn (gen_vec_extract_hi_v16si (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V8SImode);
  emit_insn (gen_smaxv8si3
    (tmp2, tmp, gen_lowpart (V8SImode, operands[1])));
  emit_insn (gen_reduc_smax_scal_v8si (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V16SImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smin_scal_v16si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8SImode);
  emit_insn (gen_vec_extract_hi_v16si (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V8SImode);
  emit_insn (gen_sminv8si3
    (tmp2, tmp, gen_lowpart (V8SImode, operands[1])));
  emit_insn (gen_reduc_smin_scal_v8si (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V16SImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smax_scal_v8di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4DImode);
  emit_insn (gen_vec_extract_hi_v8di (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V4DImode);
  emit_insn (gen_smaxv4di3
    (tmp2, tmp, gen_lowpart (V4DImode, operands[1])));
  emit_insn (gen_reduc_smax_scal_v4di (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V8DImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smin_scal_v8di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4DImode);
  emit_insn (gen_vec_extract_hi_v8di (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V4DImode);
  emit_insn (gen_sminv4di3
    (tmp2, tmp, gen_lowpart (V4DImode, operands[1])));
  emit_insn (gen_reduc_smin_scal_v4di (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V8DImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smax_scal_v16sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8SFmode);
  emit_insn (gen_vec_extract_hi_v16sf (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V8SFmode);
  emit_insn (gen_smaxv8sf3
    (tmp2, tmp, gen_lowpart (V8SFmode, operands[1])));
  emit_insn (gen_reduc_smax_scal_v8sf (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V16SFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smin_scal_v16sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8SFmode);
  emit_insn (gen_vec_extract_hi_v16sf (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V8SFmode);
  emit_insn (gen_sminv8sf3
    (tmp2, tmp, gen_lowpart (V8SFmode, operands[1])));
  emit_insn (gen_reduc_smin_scal_v8sf (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V16SFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smax_scal_v8df (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4DFmode);
  emit_insn (gen_vec_extract_hi_v8df (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V4DFmode);
  emit_insn (gen_smaxv4df3
    (tmp2, tmp, gen_lowpart (V4DFmode, operands[1])));
  emit_insn (gen_reduc_smax_scal_v4df (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMAX (V8DFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3330 */
rtx
gen_reduc_smin_scal_v8df (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3335 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4DFmode);
  emit_insn (gen_vec_extract_hi_v8df (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V4DFmode);
  emit_insn (gen_sminv4df3
    (tmp2, tmp, gen_lowpart (V4DFmode, operands[1])));
  emit_insn (gen_reduc_smin_scal_v4df (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SMIN (V8DFmode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3345 */
rtx
gen_reduc_umax_scal_v16si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3350 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8SImode);
  emit_insn (gen_vec_extract_hi_v16si (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V8SImode);
  emit_insn (gen_umaxv8si3
    (tmp2, tmp, gen_lowpart (V8SImode, operands[1])));
  emit_insn (gen_reduc_umax_scal_v8si (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_UMAX (V16SImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3345 */
rtx
gen_reduc_umin_scal_v16si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3350 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8SImode);
  emit_insn (gen_vec_extract_hi_v16si (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V8SImode);
  emit_insn (gen_uminv8si3
    (tmp2, tmp, gen_lowpart (V8SImode, operands[1])));
  emit_insn (gen_reduc_umin_scal_v8si (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_UMIN (V16SImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3345 */
rtx
gen_reduc_umax_scal_v8di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3350 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4DImode);
  emit_insn (gen_vec_extract_hi_v8di (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V4DImode);
  emit_insn (gen_umaxv4di3
    (tmp2, tmp, gen_lowpart (V4DImode, operands[1])));
  emit_insn (gen_reduc_umax_scal_v4di (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_UMAX (V8DImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3345 */
rtx
gen_reduc_umin_scal_v8di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3350 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4DImode);
  emit_insn (gen_vec_extract_hi_v8di (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V4DImode);
  emit_insn (gen_uminv4di3
    (tmp2, tmp, gen_lowpart (V4DImode, operands[1])));
  emit_insn (gen_reduc_umin_scal_v4di (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_UMIN (V8DImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3345 */
rtx
gen_reduc_umax_scal_v32hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3350 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16HImode);
  emit_insn (gen_vec_extract_hi_v32hi (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V16HImode);
  emit_insn (gen_umaxv16hi3
    (tmp2, tmp, gen_lowpart (V16HImode, operands[1])));
  emit_insn (gen_reduc_umax_scal_v16hi (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_UMAX (V32HImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3345 */
rtx
gen_reduc_umin_scal_v32hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3350 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16HImode);
  emit_insn (gen_vec_extract_hi_v32hi (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V16HImode);
  emit_insn (gen_uminv16hi3
    (tmp2, tmp, gen_lowpart (V16HImode, operands[1])));
  emit_insn (gen_reduc_umin_scal_v16hi (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_UMIN (V32HImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3345 */
rtx
gen_reduc_umax_scal_v64qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3350 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V32QImode);
  emit_insn (gen_vec_extract_hi_v64qi (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V32QImode);
  emit_insn (gen_umaxv32qi3
    (tmp2, tmp, gen_lowpart (V32QImode, operands[1])));
  emit_insn (gen_reduc_umax_scal_v32qi (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_UMAX (V64QImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3345 */
rtx
gen_reduc_umin_scal_v64qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3350 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V32QImode);
  emit_insn (gen_vec_extract_hi_v64qi (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V32QImode);
  emit_insn (gen_uminv32qi3
    (tmp2, tmp, gen_lowpart (V32QImode, operands[1])));
  emit_insn (gen_reduc_umin_scal_v32qi (operands[0], tmp2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_UMIN (V64QImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3360 */
rtx
gen_reduc_umax_scal_v32qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3365 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16QImode);
  emit_insn (gen_vec_extract_hi_v32qi (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V16QImode);
  emit_insn (gen_umaxv16qi3
    (tmp2, tmp, gen_lowpart (V16QImode, operands[1])));
  rtx tmp3 = gen_reg_rtx (V16QImode);
  ix86_expand_reduc (gen_umaxv16qi3, tmp3, tmp2);
  emit_insn (gen_vec_extractv16qiqi
		(operands[0], tmp3, const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_UMAX (V32QImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3360 */
rtx
gen_reduc_umin_scal_v32qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3365 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16QImode);
  emit_insn (gen_vec_extract_hi_v32qi (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V16QImode);
  emit_insn (gen_uminv16qi3
    (tmp2, tmp, gen_lowpart (V16QImode, operands[1])));
  rtx tmp3 = gen_reg_rtx (V16QImode);
  ix86_expand_reduc (gen_uminv16qi3, tmp3, tmp2);
  emit_insn (gen_vec_extractv16qiqi
		(operands[0], tmp3, const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_UMIN (V32QImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3360 */
rtx
gen_reduc_umax_scal_v16hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3365 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8HImode);
  emit_insn (gen_vec_extract_hi_v16hi (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V8HImode);
  emit_insn (gen_umaxv8hi3
    (tmp2, tmp, gen_lowpart (V8HImode, operands[1])));
  rtx tmp3 = gen_reg_rtx (V8HImode);
  ix86_expand_reduc (gen_umaxv8hi3, tmp3, tmp2);
  emit_insn (gen_vec_extractv8hihi
		(operands[0], tmp3, const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_UMAX (V16HImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3360 */
rtx
gen_reduc_umin_scal_v16hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3365 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8HImode);
  emit_insn (gen_vec_extract_hi_v16hi (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V8HImode);
  emit_insn (gen_uminv8hi3
    (tmp2, tmp, gen_lowpart (V8HImode, operands[1])));
  rtx tmp3 = gen_reg_rtx (V8HImode);
  ix86_expand_reduc (gen_uminv8hi3, tmp3, tmp2);
  emit_insn (gen_vec_extractv8hihi
		(operands[0], tmp3, const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_UMIN (V16HImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3360 */
rtx
gen_reduc_umax_scal_v8si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3365 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SImode);
  emit_insn (gen_vec_extract_hi_v8si (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V4SImode);
  emit_insn (gen_umaxv4si3
    (tmp2, tmp, gen_lowpart (V4SImode, operands[1])));
  rtx tmp3 = gen_reg_rtx (V4SImode);
  ix86_expand_reduc (gen_umaxv4si3, tmp3, tmp2);
  emit_insn (gen_vec_extractv4sisi
		(operands[0], tmp3, const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_UMAX (V8SImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3360 */
rtx
gen_reduc_umin_scal_v8si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3365 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SImode);
  emit_insn (gen_vec_extract_hi_v8si (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V4SImode);
  emit_insn (gen_uminv4si3
    (tmp2, tmp, gen_lowpart (V4SImode, operands[1])));
  rtx tmp3 = gen_reg_rtx (V4SImode);
  ix86_expand_reduc (gen_uminv4si3, tmp3, tmp2);
  emit_insn (gen_vec_extractv4sisi
		(operands[0], tmp3, const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_UMIN (V8SImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3360 */
rtx
gen_reduc_umax_scal_v4di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3365 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V2DImode);
  emit_insn (gen_vec_extract_hi_v4di (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V2DImode);
  emit_insn (gen_umaxv2di3
    (tmp2, tmp, gen_lowpart (V2DImode, operands[1])));
  rtx tmp3 = gen_reg_rtx (V2DImode);
  ix86_expand_reduc (gen_umaxv2di3, tmp3, tmp2);
  emit_insn (gen_vec_extractv2didi
		(operands[0], tmp3, const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_UMAX (V4DImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3360 */
rtx
gen_reduc_umin_scal_v4di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3365 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V2DImode);
  emit_insn (gen_vec_extract_hi_v4di (tmp, operands[1]));
  rtx tmp2 = gen_reg_rtx (V2DImode);
  emit_insn (gen_uminv2di3
    (tmp2, tmp, gen_lowpart (V2DImode, operands[1])));
  rtx tmp3 = gen_reg_rtx (V2DImode);
  ix86_expand_reduc (gen_uminv2di3, tmp3, tmp2);
  emit_insn (gen_vec_extractv2didi
		(operands[0], tmp3, const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_UMIN (V4DImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3378 */
rtx
gen_reduc_umin_scal_v8hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3383 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8HImode);
  ix86_expand_reduc (gen_uminv8hi3, tmp, operands[1]);
  emit_insn (gen_vec_extractv8hihi (operands[0], tmp, const0_rtx));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_UMIN (V8HImode,
	operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3438 */
extern rtx_insn *gen_split_762 (rtx_insn *, rtx *);
rtx_insn *
gen_split_762 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_762 (sse.md:3438)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6] = gen_reg_rtx (V8SFmode);
  operands[7]
    = lowpart_subreg (GET_MODE (operands[0]), operands[6], V8SFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit_insn (gen_rtx_SET (operand6,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand3,
		operand4,
		operand5),
	52)));
  emit_insn (gen_rtx_SET (operand0,
	operand7));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3438 */
extern rtx_insn *gen_split_763 (rtx_insn *, rtx *);
rtx_insn *
gen_split_763 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_763 (sse.md:3438)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6] = gen_reg_rtx (V4SFmode);
  operands[7]
    = lowpart_subreg (GET_MODE (operands[0]), operands[6], V4SFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit_insn (gen_rtx_SET (operand6,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand3,
		operand4,
		operand5),
	52)));
  emit_insn (gen_rtx_SET (operand0,
	operand7));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3438 */
extern rtx_insn *gen_split_764 (rtx_insn *, rtx *);
rtx_insn *
gen_split_764 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_764 (sse.md:3438)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6] = gen_reg_rtx (V4DFmode);
  operands[7]
    = lowpart_subreg (GET_MODE (operands[0]), operands[6], V4DFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit_insn (gen_rtx_SET (operand6,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand3,
		operand4,
		operand5),
	52)));
  emit_insn (gen_rtx_SET (operand0,
	operand7));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3438 */
extern rtx_insn *gen_split_765 (rtx_insn *, rtx *);
rtx_insn *
gen_split_765 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_765 (sse.md:3438)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6] = gen_reg_rtx (V2DFmode);
  operands[7]
    = lowpart_subreg (GET_MODE (operands[0]), operands[6], V2DFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit_insn (gen_rtx_SET (operand6,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand3,
		operand4,
		operand5),
	52)));
  emit_insn (gen_rtx_SET (operand0,
	operand7));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3464 */
extern rtx_insn *gen_split_766 (rtx_insn *, rtx *);
rtx_insn *
gen_split_766 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_766 (sse.md:3464)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3485 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5] = GEN_INT (INTVAL (operands[5]) ^ 4);
  operands[6] = gen_reg_rtx (V8SFmode);
  operands[7]
    = lowpart_subreg (GET_MODE (operands[0]), operands[6], V8SFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit_insn (gen_rtx_SET (operand6,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand3,
		operand4,
		operand5),
	52)));
  emit_insn (gen_rtx_SET (operand0,
	operand7));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3464 */
extern rtx_insn *gen_split_767 (rtx_insn *, rtx *);
rtx_insn *
gen_split_767 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_767 (sse.md:3464)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3485 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5] = GEN_INT (INTVAL (operands[5]) ^ 4);
  operands[6] = gen_reg_rtx (V4SFmode);
  operands[7]
    = lowpart_subreg (GET_MODE (operands[0]), operands[6], V4SFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit_insn (gen_rtx_SET (operand6,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand3,
		operand4,
		operand5),
	52)));
  emit_insn (gen_rtx_SET (operand0,
	operand7));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3464 */
extern rtx_insn *gen_split_768 (rtx_insn *, rtx *);
rtx_insn *
gen_split_768 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_768 (sse.md:3464)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3485 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5] = GEN_INT (INTVAL (operands[5]) ^ 4);
  operands[6] = gen_reg_rtx (V4DFmode);
  operands[7]
    = lowpart_subreg (GET_MODE (operands[0]), operands[6], V4DFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit_insn (gen_rtx_SET (operand6,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand3,
		operand4,
		operand5),
	52)));
  emit_insn (gen_rtx_SET (operand0,
	operand7));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3464 */
extern rtx_insn *gen_split_769 (rtx_insn *, rtx *);
rtx_insn *
gen_split_769 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_769 (sse.md:3464)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3485 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5] = GEN_INT (INTVAL (operands[5]) ^ 4);
  operands[6] = gen_reg_rtx (V2DFmode);
  operands[7]
    = lowpart_subreg (GET_MODE (operands[0]), operands[6], V2DFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  operand7 = operands[7];
  (void) operand7;
  emit_insn (gen_rtx_SET (operand6,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand3,
		operand4,
		operand5),
	52)));
  emit_insn (gen_rtx_SET (operand0,
	operand7));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3492 */
extern rtx_insn *gen_split_770 (rtx_insn *, rtx *);
rtx_insn *
gen_split_770 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_770 (sse.md:3492)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand3,
		operand4,
		operand5),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3492 */
extern rtx_insn *gen_split_771 (rtx_insn *, rtx *);
rtx_insn *
gen_split_771 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_771 (sse.md:3492)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand3,
		operand4,
		operand5),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3492 */
extern rtx_insn *gen_split_772 (rtx_insn *, rtx *);
rtx_insn *
gen_split_772 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_772 (sse.md:3492)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand3,
		operand4,
		operand5),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3492 */
extern rtx_insn *gen_split_773 (rtx_insn *, rtx *);
rtx_insn *
gen_split_773 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_773 (sse.md:3492)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand3,
		operand4,
		operand5),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3512 */
extern rtx_insn *gen_split_774 (rtx_insn *, rtx *);
rtx_insn *
gen_split_774 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_774 (sse.md:3512)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3532 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[5] = GEN_INT (INTVAL (operands[5]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand3,
		operand4,
		operand5),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3512 */
extern rtx_insn *gen_split_775 (rtx_insn *, rtx *);
rtx_insn *
gen_split_775 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_775 (sse.md:3512)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3532 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[5] = GEN_INT (INTVAL (operands[5]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand3,
		operand4,
		operand5),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3512 */
extern rtx_insn *gen_split_776 (rtx_insn *, rtx *);
rtx_insn *
gen_split_776 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_776 (sse.md:3512)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3532 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[5] = GEN_INT (INTVAL (operands[5]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand3,
		operand4,
		operand5),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3512 */
extern rtx_insn *gen_split_777 (rtx_insn *, rtx *);
rtx_insn *
gen_split_777 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_777 (sse.md:3512)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3532 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[5] = GEN_INT (INTVAL (operands[5]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand3,
		operand4,
		operand5),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3534 */
extern rtx_insn *gen_split_778 (rtx_insn *, rtx *);
rtx_insn *
gen_split_778 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_778 (sse.md:3534)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3557 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[1], operands[2]);
  operands[2] = force_reg (V8SFmode, operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand2,
		operand1,
		gen_rtx_LT (V8SFmode,
	operand3,
	operand4)),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3534 */
extern rtx_insn *gen_split_779 (rtx_insn *, rtx *);
rtx_insn *
gen_split_779 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_779 (sse.md:3534)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3557 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[1], operands[2]);
  operands[2] = force_reg (V4SFmode, operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand2,
		operand1,
		gen_rtx_LT (V4SFmode,
	operand3,
	operand4)),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3534 */
extern rtx_insn *gen_split_780 (rtx_insn *, rtx *);
rtx_insn *
gen_split_780 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_780 (sse.md:3534)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3557 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[1], operands[2]);
  operands[2] = force_reg (V4DFmode, operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand2,
		operand1,
		gen_rtx_LT (V4DFmode,
	operand3,
	operand4)),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3534 */
extern rtx_insn *gen_split_781 (rtx_insn *, rtx *);
rtx_insn *
gen_split_781 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_781 (sse.md:3534)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3557 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[1], operands[2]);
  operands[2] = force_reg (V2DFmode, operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand2,
		operand1,
		gen_rtx_LT (V2DFmode,
	operand3,
	operand4)),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3563 */
extern rtx_insn *gen_split_782 (rtx_insn *, rtx *);
rtx_insn *
gen_split_782 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_782 (sse.md:3563)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3587 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[1], operands[2]);
  operands[0] = gen_lowpart (V16QImode, operands[0]);
  operands[1] = gen_lowpart (V16QImode, operands[1]);
  operands[2] = force_reg (V16QImode,
			  gen_lowpart (V16QImode, operands[2]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand2,
		operand1,
		gen_rtx_SUBREG (V16QImode,
	gen_rtx_LT (V4SImode,
	operand3,
	operand4),
	0)),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3563 */
extern rtx_insn *gen_split_783 (rtx_insn *, rtx *);
rtx_insn *
gen_split_783 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_783 (sse.md:3563)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3587 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[1], operands[2]);
  operands[0] = gen_lowpart (V16QImode, operands[0]);
  operands[1] = gen_lowpart (V16QImode, operands[1]);
  operands[2] = force_reg (V16QImode,
			  gen_lowpart (V16QImode, operands[2]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand2,
		operand1,
		gen_rtx_SUBREG (V16QImode,
	gen_rtx_LT (V2DImode,
	operand3,
	operand4),
	0)),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3563 */
extern rtx_insn *gen_split_784 (rtx_insn *, rtx *);
rtx_insn *
gen_split_784 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_784 (sse.md:3563)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3587 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[1], operands[2]);
  operands[0] = gen_lowpart (V32QImode, operands[0]);
  operands[1] = gen_lowpart (V32QImode, operands[1]);
  operands[2] = force_reg (V32QImode,
			  gen_lowpart (V32QImode, operands[2]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand2,
		operand1,
		gen_rtx_SUBREG (V32QImode,
	gen_rtx_LT (V8SImode,
	operand3,
	operand4),
	0)),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3563 */
extern rtx_insn *gen_split_785 (rtx_insn *, rtx *);
rtx_insn *
gen_split_785 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_785 (sse.md:3563)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3587 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[1], operands[2]);
  operands[0] = gen_lowpart (V32QImode, operands[0]);
  operands[1] = gen_lowpart (V32QImode, operands[1]);
  operands[2] = force_reg (V32QImode,
			  gen_lowpart (V32QImode, operands[2]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand2,
		operand1,
		gen_rtx_SUBREG (V32QImode,
	gen_rtx_LT (V4DImode,
	operand3,
	operand4),
	0)),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3596 */
extern rtx_insn *gen_split_786 (rtx_insn *, rtx *);
rtx_insn *
gen_split_786 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_786 (sse.md:3596)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3622 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[1], operands[2]);
  operands[0] = gen_lowpart (V16QImode, operands[0]);
  operands[1] = force_reg (V16QImode,
			  gen_lowpart (V16QImode, operands[1]));
  operands[2] = gen_lowpart (V16QImode, operands[2]);

  operands[3] = force_reg (V16QImode, operands[3]);
  operands[3] = lowpart_subreg (V4SImode, operands[3], V16QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_SUBREG (V16QImode,
	gen_rtx_LT (V4SImode,
	operand3,
	operand4),
	0)),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3596 */
extern rtx_insn *gen_split_787 (rtx_insn *, rtx *);
rtx_insn *
gen_split_787 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_787 (sse.md:3596)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3622 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[1], operands[2]);
  operands[0] = gen_lowpart (V16QImode, operands[0]);
  operands[1] = force_reg (V16QImode,
			  gen_lowpart (V16QImode, operands[1]));
  operands[2] = gen_lowpart (V16QImode, operands[2]);

  operands[3] = force_reg (V16QImode, operands[3]);
  operands[3] = lowpart_subreg (V2DImode, operands[3], V16QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_SUBREG (V16QImode,
	gen_rtx_LT (V2DImode,
	operand3,
	operand4),
	0)),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3596 */
extern rtx_insn *gen_split_788 (rtx_insn *, rtx *);
rtx_insn *
gen_split_788 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_788 (sse.md:3596)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3622 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[1], operands[2]);
  operands[0] = gen_lowpart (V32QImode, operands[0]);
  operands[1] = force_reg (V32QImode,
			  gen_lowpart (V32QImode, operands[1]));
  operands[2] = gen_lowpart (V32QImode, operands[2]);

  operands[3] = force_reg (V32QImode, operands[3]);
  operands[3] = lowpart_subreg (V8SImode, operands[3], V32QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_SUBREG (V32QImode,
	gen_rtx_LT (V8SImode,
	operand3,
	operand4),
	0)),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3596 */
extern rtx_insn *gen_split_789 (rtx_insn *, rtx *);
rtx_insn *
gen_split_789 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_789 (sse.md:3596)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3622 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[1], operands[2]);
  operands[0] = gen_lowpart (V32QImode, operands[0]);
  operands[1] = force_reg (V32QImode,
			  gen_lowpart (V32QImode, operands[1]));
  operands[2] = gen_lowpart (V32QImode, operands[2]);

  operands[3] = force_reg (V32QImode, operands[3]);
  operands[3] = lowpart_subreg (V4DImode, operands[3], V32QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_SUBREG (V32QImode,
	gen_rtx_LT (V4DImode,
	operand3,
	operand4),
	0)),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_790 (rtx_insn *, rtx *);
rtx_insn *
gen_split_790 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_790 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16SImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				 operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_791 (rtx_insn *, rtx *);
rtx_insn *
gen_split_791 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_791 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16SImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				 operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_792 (rtx_insn *, rtx *);
rtx_insn *
gen_split_792 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_792 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16SImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				 operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_793 (rtx_insn *, rtx *);
rtx_insn *
gen_split_793 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_793 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_794 (rtx_insn *, rtx *);
rtx_insn *
gen_split_794 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_794 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_795 (rtx_insn *, rtx *);
rtx_insn *
gen_split_795 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_795 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_796 (rtx_insn *, rtx *);
rtx_insn *
gen_split_796 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_796 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_797 (rtx_insn *, rtx *);
rtx_insn *
gen_split_797 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_797 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_798 (rtx_insn *, rtx *);
rtx_insn *
gen_split_798 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_798 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_799 (rtx_insn *, rtx *);
rtx_insn *
gen_split_799 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_799 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_800 (rtx_insn *, rtx *);
rtx_insn *
gen_split_800 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_800 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_801 (rtx_insn *, rtx *);
rtx_insn *
gen_split_801 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_801 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_802 (rtx_insn *, rtx *);
rtx_insn *
gen_split_802 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_802 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_803 (rtx_insn *, rtx *);
rtx_insn *
gen_split_803 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_803 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_804 (rtx_insn *, rtx *);
rtx_insn *
gen_split_804 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_804 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_805 (rtx_insn *, rtx *);
rtx_insn *
gen_split_805 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_805 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V2DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_806 (rtx_insn *, rtx *);
rtx_insn *
gen_split_806 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_806 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V2DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_807 (rtx_insn *, rtx *);
rtx_insn *
gen_split_807 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_807 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V2DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_808 (rtx_insn *, rtx *);
rtx_insn *
gen_split_808 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_808 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32HFmode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				 operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_809 (rtx_insn *, rtx *);
rtx_insn *
gen_split_809 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_809 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32HFmode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				 operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_810 (rtx_insn *, rtx *);
rtx_insn *
gen_split_810 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_810 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32HFmode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				 operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_811 (rtx_insn *, rtx *);
rtx_insn *
gen_split_811 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_811 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16HFmode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				 operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_812 (rtx_insn *, rtx *);
rtx_insn *
gen_split_812 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_812 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16HFmode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				 operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_813 (rtx_insn *, rtx *);
rtx_insn *
gen_split_813 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_813 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16HFmode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				 operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_814 (rtx_insn *, rtx *);
rtx_insn *
gen_split_814 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_814 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8HFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_815 (rtx_insn *, rtx *);
rtx_insn *
gen_split_815 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_815 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8HFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_816 (rtx_insn *, rtx *);
rtx_insn *
gen_split_816 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_816 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8HFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_817 (rtx_insn *, rtx *);
rtx_insn *
gen_split_817 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_817 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16SFmode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				 operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_818 (rtx_insn *, rtx *);
rtx_insn *
gen_split_818 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_818 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16SFmode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				 operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_819 (rtx_insn *, rtx *);
rtx_insn *
gen_split_819 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_819 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16SFmode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				 operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_820 (rtx_insn *, rtx *);
rtx_insn *
gen_split_820 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_820 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8SFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_821 (rtx_insn *, rtx *);
rtx_insn *
gen_split_821 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_821 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8SFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_822 (rtx_insn *, rtx *);
rtx_insn *
gen_split_822 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_822 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8SFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_823 (rtx_insn *, rtx *);
rtx_insn *
gen_split_823 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_823 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4SFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_824 (rtx_insn *, rtx *);
rtx_insn *
gen_split_824 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_824 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4SFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_825 (rtx_insn *, rtx *);
rtx_insn *
gen_split_825 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_825 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4SFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_826 (rtx_insn *, rtx *);
rtx_insn *
gen_split_826 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_826 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8DFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_827 (rtx_insn *, rtx *);
rtx_insn *
gen_split_827 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_827 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8DFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_828 (rtx_insn *, rtx *);
rtx_insn *
gen_split_828 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_828 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8DFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_829 (rtx_insn *, rtx *);
rtx_insn *
gen_split_829 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_829 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4DFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_830 (rtx_insn *, rtx *);
rtx_insn *
gen_split_830 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_830 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4DFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_831 (rtx_insn *, rtx *);
rtx_insn *
gen_split_831 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_831 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4DFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_832 (rtx_insn *, rtx *);
rtx_insn *
gen_split_832 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_832 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V2DFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_833 (rtx_insn *, rtx *);
rtx_insn *
gen_split_833 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_833 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V2DFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3727 */
extern rtx_insn *gen_split_834 (rtx_insn *, rtx *);
rtx_insn *
gen_split_834 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_834 (sse.md:3727)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3748 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V2DFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				 operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_835 (rtx_insn *, rtx *);
rtx_insn *
gen_split_835 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_835 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16SImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_836 (rtx_insn *, rtx *);
rtx_insn *
gen_split_836 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_836 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16SImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_837 (rtx_insn *, rtx *);
rtx_insn *
gen_split_837 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_837 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16SImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_838 (rtx_insn *, rtx *);
rtx_insn *
gen_split_838 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_838 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_839 (rtx_insn *, rtx *);
rtx_insn *
gen_split_839 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_839 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_840 (rtx_insn *, rtx *);
rtx_insn *
gen_split_840 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_840 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_841 (rtx_insn *, rtx *);
rtx_insn *
gen_split_841 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_841 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_842 (rtx_insn *, rtx *);
rtx_insn *
gen_split_842 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_842 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_843 (rtx_insn *, rtx *);
rtx_insn *
gen_split_843 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_843 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_844 (rtx_insn *, rtx *);
rtx_insn *
gen_split_844 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_844 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_845 (rtx_insn *, rtx *);
rtx_insn *
gen_split_845 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_845 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_846 (rtx_insn *, rtx *);
rtx_insn *
gen_split_846 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_846 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_847 (rtx_insn *, rtx *);
rtx_insn *
gen_split_847 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_847 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_848 (rtx_insn *, rtx *);
rtx_insn *
gen_split_848 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_848 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_849 (rtx_insn *, rtx *);
rtx_insn *
gen_split_849 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_849 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_850 (rtx_insn *, rtx *);
rtx_insn *
gen_split_850 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_850 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V2DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_851 (rtx_insn *, rtx *);
rtx_insn *
gen_split_851 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_851 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V2DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_852 (rtx_insn *, rtx *);
rtx_insn *
gen_split_852 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_852 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V2DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_853 (rtx_insn *, rtx *);
rtx_insn *
gen_split_853 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_853 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32HFmode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_854 (rtx_insn *, rtx *);
rtx_insn *
gen_split_854 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_854 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32HFmode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_855 (rtx_insn *, rtx *);
rtx_insn *
gen_split_855 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_855 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32HFmode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_856 (rtx_insn *, rtx *);
rtx_insn *
gen_split_856 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_856 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16HFmode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_857 (rtx_insn *, rtx *);
rtx_insn *
gen_split_857 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_857 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16HFmode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_858 (rtx_insn *, rtx *);
rtx_insn *
gen_split_858 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_858 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16HFmode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_859 (rtx_insn *, rtx *);
rtx_insn *
gen_split_859 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_859 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8HFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_860 (rtx_insn *, rtx *);
rtx_insn *
gen_split_860 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_860 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8HFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_861 (rtx_insn *, rtx *);
rtx_insn *
gen_split_861 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_861 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8HFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_862 (rtx_insn *, rtx *);
rtx_insn *
gen_split_862 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_862 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16SFmode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_863 (rtx_insn *, rtx *);
rtx_insn *
gen_split_863 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_863 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16SFmode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_864 (rtx_insn *, rtx *);
rtx_insn *
gen_split_864 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_864 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16SFmode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_865 (rtx_insn *, rtx *);
rtx_insn *
gen_split_865 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_865 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8SFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_866 (rtx_insn *, rtx *);
rtx_insn *
gen_split_866 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_866 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8SFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_867 (rtx_insn *, rtx *);
rtx_insn *
gen_split_867 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_867 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8SFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_868 (rtx_insn *, rtx *);
rtx_insn *
gen_split_868 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_868 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4SFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_869 (rtx_insn *, rtx *);
rtx_insn *
gen_split_869 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_869 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4SFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_870 (rtx_insn *, rtx *);
rtx_insn *
gen_split_870 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_870 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4SFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_871 (rtx_insn *, rtx *);
rtx_insn *
gen_split_871 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_871 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8DFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_872 (rtx_insn *, rtx *);
rtx_insn *
gen_split_872 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_872 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8DFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_873 (rtx_insn *, rtx *);
rtx_insn *
gen_split_873 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_873 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8DFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_874 (rtx_insn *, rtx *);
rtx_insn *
gen_split_874 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_874 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4DFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_875 (rtx_insn *, rtx *);
rtx_insn *
gen_split_875 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_875 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4DFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_876 (rtx_insn *, rtx *);
rtx_insn *
gen_split_876 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_876 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4DFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_877 (rtx_insn *, rtx *);
rtx_insn *
gen_split_877 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_877 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V2DFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_878 (rtx_insn *, rtx *);
rtx_insn *
gen_split_878 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_878 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V2DFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3758 */
extern rtx_insn *gen_split_879 (rtx_insn *, rtx *);
rtx_insn *
gen_split_879 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_879 (sse.md:3758)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3786 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V2DFmode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3796 */
extern rtx_insn *gen_split_880 (rtx_insn *, rtx *);
rtx_insn *
gen_split_880 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_880 (sse.md:3796)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3813 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3796 */
extern rtx_insn *gen_split_881 (rtx_insn *, rtx *);
rtx_insn *
gen_split_881 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_881 (sse.md:3796)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3813 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3796 */
extern rtx_insn *gen_split_882 (rtx_insn *, rtx *);
rtx_insn *
gen_split_882 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_882 (sse.md:3796)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3813 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3796 */
extern rtx_insn *gen_split_883 (rtx_insn *, rtx *);
rtx_insn *
gen_split_883 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_883 (sse.md:3796)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3813 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3796 */
extern rtx_insn *gen_split_884 (rtx_insn *, rtx *);
rtx_insn *
gen_split_884 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_884 (sse.md:3796)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3813 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3796 */
extern rtx_insn *gen_split_885 (rtx_insn *, rtx *);
rtx_insn *
gen_split_885 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_885 (sse.md:3796)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3813 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3796 */
extern rtx_insn *gen_split_886 (rtx_insn *, rtx *);
rtx_insn *
gen_split_886 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_886 (sse.md:3796)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3813 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3796 */
extern rtx_insn *gen_split_887 (rtx_insn *, rtx *);
rtx_insn *
gen_split_887 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_887 (sse.md:3796)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3813 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3796 */
extern rtx_insn *gen_split_888 (rtx_insn *, rtx *);
rtx_insn *
gen_split_888 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_888 (sse.md:3796)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3813 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3796 */
extern rtx_insn *gen_split_889 (rtx_insn *, rtx *);
rtx_insn *
gen_split_889 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_889 (sse.md:3796)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3813 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3796 */
extern rtx_insn *gen_split_890 (rtx_insn *, rtx *);
rtx_insn *
gen_split_890 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_890 (sse.md:3796)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3813 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3796 */
extern rtx_insn *gen_split_891 (rtx_insn *, rtx *);
rtx_insn *
gen_split_891 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_891 (sse.md:3796)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3813 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3829 */
extern rtx_insn *gen_split_892 (rtx_insn *, rtx *);
rtx_insn *
gen_split_892 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_892 (sse.md:3829)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3849 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V64QImode, operands[1]);
  operands[0] = lowpart_subreg (DImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3829 */
extern rtx_insn *gen_split_893 (rtx_insn *, rtx *);
rtx_insn *
gen_split_893 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_893 (sse.md:3829)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3849 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V64QImode, operands[1]);
  operands[0] = lowpart_subreg (DImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3829 */
extern rtx_insn *gen_split_894 (rtx_insn *, rtx *);
rtx_insn *
gen_split_894 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_894 (sse.md:3829)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3849 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V64QImode, operands[1]);
  operands[0] = lowpart_subreg (DImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3829 */
extern rtx_insn *gen_split_895 (rtx_insn *, rtx *);
rtx_insn *
gen_split_895 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_895 (sse.md:3829)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3849 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16QImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3829 */
extern rtx_insn *gen_split_896 (rtx_insn *, rtx *);
rtx_insn *
gen_split_896 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_896 (sse.md:3829)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3849 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16QImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3829 */
extern rtx_insn *gen_split_897 (rtx_insn *, rtx *);
rtx_insn *
gen_split_897 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_897 (sse.md:3829)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3849 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16QImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3829 */
extern rtx_insn *gen_split_898 (rtx_insn *, rtx *);
rtx_insn *
gen_split_898 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_898 (sse.md:3829)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3849 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32QImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3829 */
extern rtx_insn *gen_split_899 (rtx_insn *, rtx *);
rtx_insn *
gen_split_899 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_899 (sse.md:3829)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3849 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32QImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3829 */
extern rtx_insn *gen_split_900 (rtx_insn *, rtx *);
rtx_insn *
gen_split_900 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_900 (sse.md:3829)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3849 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32QImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3829 */
extern rtx_insn *gen_split_901 (rtx_insn *, rtx *);
rtx_insn *
gen_split_901 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_901 (sse.md:3829)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3849 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32HImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3829 */
extern rtx_insn *gen_split_902 (rtx_insn *, rtx *);
rtx_insn *
gen_split_902 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_902 (sse.md:3829)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3849 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32HImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3829 */
extern rtx_insn *gen_split_903 (rtx_insn *, rtx *);
rtx_insn *
gen_split_903 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_903 (sse.md:3829)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3849 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32HImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3829 */
extern rtx_insn *gen_split_904 (rtx_insn *, rtx *);
rtx_insn *
gen_split_904 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_904 (sse.md:3829)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3849 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16HImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3829 */
extern rtx_insn *gen_split_905 (rtx_insn *, rtx *);
rtx_insn *
gen_split_905 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_905 (sse.md:3829)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3849 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16HImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3829 */
extern rtx_insn *gen_split_906 (rtx_insn *, rtx *);
rtx_insn *
gen_split_906 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_906 (sse.md:3829)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3849 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16HImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3829 */
extern rtx_insn *gen_split_907 (rtx_insn *, rtx *);
rtx_insn *
gen_split_907 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_907 (sse.md:3829)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3849 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8HImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3829 */
extern rtx_insn *gen_split_908 (rtx_insn *, rtx *);
rtx_insn *
gen_split_908 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_908 (sse.md:3829)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3849 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8HImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3829 */
extern rtx_insn *gen_split_909 (rtx_insn *, rtx *);
rtx_insn *
gen_split_909 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_909 (sse.md:3829)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3849 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8HImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3859 */
extern rtx_insn *gen_split_910 (rtx_insn *, rtx *);
rtx_insn *
gen_split_910 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_910 (sse.md:3859)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3886 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V64QImode, operands[1]);
  operands[0] = lowpart_subreg (DImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3859 */
extern rtx_insn *gen_split_911 (rtx_insn *, rtx *);
rtx_insn *
gen_split_911 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_911 (sse.md:3859)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3886 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V64QImode, operands[1]);
  operands[0] = lowpart_subreg (DImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3859 */
extern rtx_insn *gen_split_912 (rtx_insn *, rtx *);
rtx_insn *
gen_split_912 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_912 (sse.md:3859)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3886 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V64QImode, operands[1]);
  operands[0] = lowpart_subreg (DImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3859 */
extern rtx_insn *gen_split_913 (rtx_insn *, rtx *);
rtx_insn *
gen_split_913 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_913 (sse.md:3859)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3886 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16QImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3859 */
extern rtx_insn *gen_split_914 (rtx_insn *, rtx *);
rtx_insn *
gen_split_914 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_914 (sse.md:3859)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3886 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16QImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3859 */
extern rtx_insn *gen_split_915 (rtx_insn *, rtx *);
rtx_insn *
gen_split_915 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_915 (sse.md:3859)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3886 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16QImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3859 */
extern rtx_insn *gen_split_916 (rtx_insn *, rtx *);
rtx_insn *
gen_split_916 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_916 (sse.md:3859)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3886 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32QImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3859 */
extern rtx_insn *gen_split_917 (rtx_insn *, rtx *);
rtx_insn *
gen_split_917 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_917 (sse.md:3859)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3886 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32QImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3859 */
extern rtx_insn *gen_split_918 (rtx_insn *, rtx *);
rtx_insn *
gen_split_918 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_918 (sse.md:3859)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3886 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32QImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3859 */
extern rtx_insn *gen_split_919 (rtx_insn *, rtx *);
rtx_insn *
gen_split_919 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_919 (sse.md:3859)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3886 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32HImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3859 */
extern rtx_insn *gen_split_920 (rtx_insn *, rtx *);
rtx_insn *
gen_split_920 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_920 (sse.md:3859)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3886 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32HImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3859 */
extern rtx_insn *gen_split_921 (rtx_insn *, rtx *);
rtx_insn *
gen_split_921 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_921 (sse.md:3859)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3886 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32HImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3859 */
extern rtx_insn *gen_split_922 (rtx_insn *, rtx *);
rtx_insn *
gen_split_922 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_922 (sse.md:3859)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3886 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16HImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3859 */
extern rtx_insn *gen_split_923 (rtx_insn *, rtx *);
rtx_insn *
gen_split_923 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_923 (sse.md:3859)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3886 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16HImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3859 */
extern rtx_insn *gen_split_924 (rtx_insn *, rtx *);
rtx_insn *
gen_split_924 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_924 (sse.md:3859)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3886 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16HImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3859 */
extern rtx_insn *gen_split_925 (rtx_insn *, rtx *);
rtx_insn *
gen_split_925 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_925 (sse.md:3859)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3886 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8HImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3859 */
extern rtx_insn *gen_split_926 (rtx_insn *, rtx *);
rtx_insn *
gen_split_926 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_926 (sse.md:3859)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3886 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8HImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3859 */
extern rtx_insn *gen_split_927 (rtx_insn *, rtx *);
rtx_insn *
gen_split_927 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_927 (sse.md:3859)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3886 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8HImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	52)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3899 */
extern rtx_insn *gen_split_928 (rtx_insn *, rtx *);
rtx_insn *
gen_split_928 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_928 (sse.md:3899)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3916 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3899 */
extern rtx_insn *gen_split_929 (rtx_insn *, rtx *);
rtx_insn *
gen_split_929 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_929 (sse.md:3899)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3916 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3899 */
extern rtx_insn *gen_split_930 (rtx_insn *, rtx *);
rtx_insn *
gen_split_930 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_930 (sse.md:3899)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3916 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3899 */
extern rtx_insn *gen_split_931 (rtx_insn *, rtx *);
rtx_insn *
gen_split_931 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_931 (sse.md:3899)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3916 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3899 */
extern rtx_insn *gen_split_932 (rtx_insn *, rtx *);
rtx_insn *
gen_split_932 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_932 (sse.md:3899)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3916 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3899 */
extern rtx_insn *gen_split_933 (rtx_insn *, rtx *);
rtx_insn *
gen_split_933 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_933 (sse.md:3899)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3916 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3899 */
extern rtx_insn *gen_split_934 (rtx_insn *, rtx *);
rtx_insn *
gen_split_934 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_934 (sse.md:3899)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3916 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3899 */
extern rtx_insn *gen_split_935 (rtx_insn *, rtx *);
rtx_insn *
gen_split_935 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_935 (sse.md:3899)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3916 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3899 */
extern rtx_insn *gen_split_936 (rtx_insn *, rtx *);
rtx_insn *
gen_split_936 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_936 (sse.md:3899)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3916 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3899 */
extern rtx_insn *gen_split_937 (rtx_insn *, rtx *);
rtx_insn *
gen_split_937 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_937 (sse.md:3899)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3916 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3899 */
extern rtx_insn *gen_split_938 (rtx_insn *, rtx *);
rtx_insn *
gen_split_938 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_938 (sse.md:3899)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3916 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3899 */
extern rtx_insn *gen_split_939 (rtx_insn *, rtx *);
rtx_insn *
gen_split_939 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_939 (sse.md:3899)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3916 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3948 */
extern rtx_insn *gen_split_940 (rtx_insn *, rtx *);
rtx_insn *
gen_split_940 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_940 (sse.md:3948)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V64QImode, operands[1]);
  operands[0] = lowpart_subreg (DImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3948 */
extern rtx_insn *gen_split_941 (rtx_insn *, rtx *);
rtx_insn *
gen_split_941 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_941 (sse.md:3948)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V64QImode, operands[1]);
  operands[0] = lowpart_subreg (DImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3948 */
extern rtx_insn *gen_split_942 (rtx_insn *, rtx *);
rtx_insn *
gen_split_942 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_942 (sse.md:3948)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V64QImode, operands[1]);
  operands[0] = lowpart_subreg (DImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3948 */
extern rtx_insn *gen_split_943 (rtx_insn *, rtx *);
rtx_insn *
gen_split_943 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_943 (sse.md:3948)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16QImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3948 */
extern rtx_insn *gen_split_944 (rtx_insn *, rtx *);
rtx_insn *
gen_split_944 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_944 (sse.md:3948)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16QImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3948 */
extern rtx_insn *gen_split_945 (rtx_insn *, rtx *);
rtx_insn *
gen_split_945 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_945 (sse.md:3948)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16QImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3948 */
extern rtx_insn *gen_split_946 (rtx_insn *, rtx *);
rtx_insn *
gen_split_946 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_946 (sse.md:3948)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32QImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3948 */
extern rtx_insn *gen_split_947 (rtx_insn *, rtx *);
rtx_insn *
gen_split_947 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_947 (sse.md:3948)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32QImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3948 */
extern rtx_insn *gen_split_948 (rtx_insn *, rtx *);
rtx_insn *
gen_split_948 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_948 (sse.md:3948)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32QImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3948 */
extern rtx_insn *gen_split_949 (rtx_insn *, rtx *);
rtx_insn *
gen_split_949 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_949 (sse.md:3948)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32HImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3948 */
extern rtx_insn *gen_split_950 (rtx_insn *, rtx *);
rtx_insn *
gen_split_950 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_950 (sse.md:3948)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32HImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3948 */
extern rtx_insn *gen_split_951 (rtx_insn *, rtx *);
rtx_insn *
gen_split_951 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_951 (sse.md:3948)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32HImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3948 */
extern rtx_insn *gen_split_952 (rtx_insn *, rtx *);
rtx_insn *
gen_split_952 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_952 (sse.md:3948)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16HImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3948 */
extern rtx_insn *gen_split_953 (rtx_insn *, rtx *);
rtx_insn *
gen_split_953 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_953 (sse.md:3948)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16HImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3948 */
extern rtx_insn *gen_split_954 (rtx_insn *, rtx *);
rtx_insn *
gen_split_954 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_954 (sse.md:3948)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16HImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3948 */
extern rtx_insn *gen_split_955 (rtx_insn *, rtx *);
rtx_insn *
gen_split_955 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_955 (sse.md:3948)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8HImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3948 */
extern rtx_insn *gen_split_956 (rtx_insn *, rtx *);
rtx_insn *
gen_split_956 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_956 (sse.md:3948)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8HImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3948 */
extern rtx_insn *gen_split_957 (rtx_insn *, rtx *);
rtx_insn *
gen_split_957 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_957 (sse.md:3948)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 3968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8HImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3978 */
extern rtx_insn *gen_split_958 (rtx_insn *, rtx *);
rtx_insn *
gen_split_958 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_958 (sse.md:3978)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4006 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V64QImode, operands[1]);
  operands[0] = lowpart_subreg (DImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3978 */
extern rtx_insn *gen_split_959 (rtx_insn *, rtx *);
rtx_insn *
gen_split_959 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_959 (sse.md:3978)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4006 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V64QImode, operands[1]);
  operands[0] = lowpart_subreg (DImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3978 */
extern rtx_insn *gen_split_960 (rtx_insn *, rtx *);
rtx_insn *
gen_split_960 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_960 (sse.md:3978)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4006 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V64QImode, operands[1]);
  operands[0] = lowpart_subreg (DImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3978 */
extern rtx_insn *gen_split_961 (rtx_insn *, rtx *);
rtx_insn *
gen_split_961 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_961 (sse.md:3978)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4006 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16QImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3978 */
extern rtx_insn *gen_split_962 (rtx_insn *, rtx *);
rtx_insn *
gen_split_962 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_962 (sse.md:3978)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4006 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16QImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3978 */
extern rtx_insn *gen_split_963 (rtx_insn *, rtx *);
rtx_insn *
gen_split_963 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_963 (sse.md:3978)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4006 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16QImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3978 */
extern rtx_insn *gen_split_964 (rtx_insn *, rtx *);
rtx_insn *
gen_split_964 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_964 (sse.md:3978)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4006 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32QImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3978 */
extern rtx_insn *gen_split_965 (rtx_insn *, rtx *);
rtx_insn *
gen_split_965 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_965 (sse.md:3978)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4006 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32QImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3978 */
extern rtx_insn *gen_split_966 (rtx_insn *, rtx *);
rtx_insn *
gen_split_966 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_966 (sse.md:3978)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4006 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32QImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3978 */
extern rtx_insn *gen_split_967 (rtx_insn *, rtx *);
rtx_insn *
gen_split_967 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_967 (sse.md:3978)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4006 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32HImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3978 */
extern rtx_insn *gen_split_968 (rtx_insn *, rtx *);
rtx_insn *
gen_split_968 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_968 (sse.md:3978)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4006 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32HImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3978 */
extern rtx_insn *gen_split_969 (rtx_insn *, rtx *);
rtx_insn *
gen_split_969 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_969 (sse.md:3978)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4006 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V32HImode, operands[1]);
  operands[0] = lowpart_subreg (SImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3978 */
extern rtx_insn *gen_split_970 (rtx_insn *, rtx *);
rtx_insn *
gen_split_970 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_970 (sse.md:3978)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4006 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16HImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3978 */
extern rtx_insn *gen_split_971 (rtx_insn *, rtx *);
rtx_insn *
gen_split_971 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_971 (sse.md:3978)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4006 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16HImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3978 */
extern rtx_insn *gen_split_972 (rtx_insn *, rtx *);
rtx_insn *
gen_split_972 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_972 (sse.md:3978)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4006 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16HImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3978 */
extern rtx_insn *gen_split_973 (rtx_insn *, rtx *);
rtx_insn *
gen_split_973 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_973 (sse.md:3978)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4006 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8HImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3978 */
extern rtx_insn *gen_split_974 (rtx_insn *, rtx *);
rtx_insn *
gen_split_974 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_974 (sse.md:3978)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4006 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8HImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:3978 */
extern rtx_insn *gen_split_975 (rtx_insn *, rtx *);
rtx_insn *
gen_split_975 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_975 (sse.md:3978)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4006 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8HImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4046 */
extern rtx_insn *gen_split_976 (rtx_insn *, rtx *);
rtx_insn *
gen_split_976 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_976 (sse.md:4046)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4067 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16SImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4046 */
extern rtx_insn *gen_split_977 (rtx_insn *, rtx *);
rtx_insn *
gen_split_977 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_977 (sse.md:4046)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4067 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16SImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4046 */
extern rtx_insn *gen_split_978 (rtx_insn *, rtx *);
rtx_insn *
gen_split_978 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_978 (sse.md:4046)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4067 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16SImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4046 */
extern rtx_insn *gen_split_979 (rtx_insn *, rtx *);
rtx_insn *
gen_split_979 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_979 (sse.md:4046)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4067 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4046 */
extern rtx_insn *gen_split_980 (rtx_insn *, rtx *);
rtx_insn *
gen_split_980 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_980 (sse.md:4046)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4067 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4046 */
extern rtx_insn *gen_split_981 (rtx_insn *, rtx *);
rtx_insn *
gen_split_981 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_981 (sse.md:4046)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4067 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4046 */
extern rtx_insn *gen_split_982 (rtx_insn *, rtx *);
rtx_insn *
gen_split_982 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_982 (sse.md:4046)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4067 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4046 */
extern rtx_insn *gen_split_983 (rtx_insn *, rtx *);
rtx_insn *
gen_split_983 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_983 (sse.md:4046)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4067 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4046 */
extern rtx_insn *gen_split_984 (rtx_insn *, rtx *);
rtx_insn *
gen_split_984 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_984 (sse.md:4046)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4067 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4046 */
extern rtx_insn *gen_split_985 (rtx_insn *, rtx *);
rtx_insn *
gen_split_985 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_985 (sse.md:4046)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4067 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4046 */
extern rtx_insn *gen_split_986 (rtx_insn *, rtx *);
rtx_insn *
gen_split_986 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_986 (sse.md:4046)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4067 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4046 */
extern rtx_insn *gen_split_987 (rtx_insn *, rtx *);
rtx_insn *
gen_split_987 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_987 (sse.md:4046)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4067 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4046 */
extern rtx_insn *gen_split_988 (rtx_insn *, rtx *);
rtx_insn *
gen_split_988 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_988 (sse.md:4046)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4067 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4046 */
extern rtx_insn *gen_split_989 (rtx_insn *, rtx *);
rtx_insn *
gen_split_989 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_989 (sse.md:4046)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4067 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4046 */
extern rtx_insn *gen_split_990 (rtx_insn *, rtx *);
rtx_insn *
gen_split_990 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_990 (sse.md:4046)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4067 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4046 */
extern rtx_insn *gen_split_991 (rtx_insn *, rtx *);
rtx_insn *
gen_split_991 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_991 (sse.md:4046)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4067 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V2DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4046 */
extern rtx_insn *gen_split_992 (rtx_insn *, rtx *);
rtx_insn *
gen_split_992 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_992 (sse.md:4046)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4067 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V2DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4046 */
extern rtx_insn *gen_split_993 (rtx_insn *, rtx *);
rtx_insn *
gen_split_993 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_993 (sse.md:4046)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4067 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V2DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4077 */
extern rtx_insn *gen_split_994 (rtx_insn *, rtx *);
rtx_insn *
gen_split_994 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_994 (sse.md:4077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4105 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16SImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4077 */
extern rtx_insn *gen_split_995 (rtx_insn *, rtx *);
rtx_insn *
gen_split_995 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_995 (sse.md:4077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4105 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16SImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4077 */
extern rtx_insn *gen_split_996 (rtx_insn *, rtx *);
rtx_insn *
gen_split_996 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_996 (sse.md:4077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4105 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16SImode, operands[1]);
  operands[0] = lowpart_subreg (HImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4077 */
extern rtx_insn *gen_split_997 (rtx_insn *, rtx *);
rtx_insn *
gen_split_997 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_997 (sse.md:4077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4105 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4077 */
extern rtx_insn *gen_split_998 (rtx_insn *, rtx *);
rtx_insn *
gen_split_998 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_998 (sse.md:4077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4105 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4077 */
extern rtx_insn *gen_split_999 (rtx_insn *, rtx *);
rtx_insn *
gen_split_999 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_999 (sse.md:4077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4105 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4077 */
extern rtx_insn *gen_split_1000 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1000 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1000 (sse.md:4077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4105 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4077 */
extern rtx_insn *gen_split_1001 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1001 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1001 (sse.md:4077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4105 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4077 */
extern rtx_insn *gen_split_1002 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1002 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1002 (sse.md:4077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4105 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4SImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4077 */
extern rtx_insn *gen_split_1003 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1003 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1003 (sse.md:4077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4105 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4077 */
extern rtx_insn *gen_split_1004 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1004 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1004 (sse.md:4077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4105 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4077 */
extern rtx_insn *gen_split_1005 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1005 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1005 (sse.md:4077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4105 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4077 */
extern rtx_insn *gen_split_1006 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1006 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1006 (sse.md:4077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4105 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4077 */
extern rtx_insn *gen_split_1007 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1007 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1007 (sse.md:4077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4105 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4077 */
extern rtx_insn *gen_split_1008 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1008 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1008 (sse.md:4077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4105 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4077 */
extern rtx_insn *gen_split_1009 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1009 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1009 (sse.md:4077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4105 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V2DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4077 */
extern rtx_insn *gen_split_1010 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1010 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1010 (sse.md:4077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4105 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V2DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4077 */
extern rtx_insn *gen_split_1011 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1011 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1011 (sse.md:4077)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4105 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V2DImode, operands[1]);
  operands[0] = lowpart_subreg (QImode,
				operands[0], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	143)));
  emit_insn (gen_rtx_SET (operand4,
	copy_rtx (operand0)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4115 */
extern rtx_insn *gen_split_1012 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1012 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1012 (sse.md:4115)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4132 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4115 */
extern rtx_insn *gen_split_1013 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1013 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1013 (sse.md:4115)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4132 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4115 */
extern rtx_insn *gen_split_1014 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1014 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1014 (sse.md:4115)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4132 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4115 */
extern rtx_insn *gen_split_1015 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1015 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1015 (sse.md:4115)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4132 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4115 */
extern rtx_insn *gen_split_1016 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1016 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1016 (sse.md:4115)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4132 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4115 */
extern rtx_insn *gen_split_1017 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1017 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1017 (sse.md:4115)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4132 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = GEN_INT (INTVAL (operands[3]) ^ 4);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	143)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4141 */
extern rtx_insn *gen_split_1018 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1018 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1018 (sse.md:4141)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4156 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    /* LE: 2, NLT: 5, NLE: 6, LT: 1  */
    int cmp_predicate = 2; /* LE  */
    if (MEM_P (operands[1]))
      {
       std::swap (operands[1], operands[2]);
       cmp_predicate = 5; /* NLT (GE)  */
      }
    if ((INTVAL (operands[4]) & 4) != 0)
      cmp_predicate ^= 4; /* Invert the comparison to NLE (GT) or LT.  */
    emit_insn (gen_avx512bw_ucmpv64qi3 (operands[0], operands[1],operands[2],
					GEN_INT (cmp_predicate)));
    DONE;
  }
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4141 */
extern rtx_insn *gen_split_1019 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1019 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1019 (sse.md:4141)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4156 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    /* LE: 2, NLT: 5, NLE: 6, LT: 1  */
    int cmp_predicate = 2; /* LE  */
    if (MEM_P (operands[1]))
      {
       std::swap (operands[1], operands[2]);
       cmp_predicate = 5; /* NLT (GE)  */
      }
    if ((INTVAL (operands[4]) & 4) != 0)
      cmp_predicate ^= 4; /* Invert the comparison to NLE (GT) or LT.  */
    emit_insn (gen_avx512bw_ucmpv64qi3 (operands[0], operands[1],operands[2],
					GEN_INT (cmp_predicate)));
    DONE;
  }
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4141 */
extern rtx_insn *gen_split_1020 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1020 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1020 (sse.md:4141)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4156 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    /* LE: 2, NLT: 5, NLE: 6, LT: 1  */
    int cmp_predicate = 2; /* LE  */
    if (MEM_P (operands[1]))
      {
       std::swap (operands[1], operands[2]);
       cmp_predicate = 5; /* NLT (GE)  */
      }
    if ((INTVAL (operands[4]) & 4) != 0)
      cmp_predicate ^= 4; /* Invert the comparison to NLE (GT) or LT.  */
    emit_insn (gen_avx512vl_ucmpv16qi3 (operands[0], operands[1],operands[2],
					GEN_INT (cmp_predicate)));
    DONE;
  }
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4141 */
extern rtx_insn *gen_split_1021 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1021 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1021 (sse.md:4141)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4156 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    /* LE: 2, NLT: 5, NLE: 6, LT: 1  */
    int cmp_predicate = 2; /* LE  */
    if (MEM_P (operands[1]))
      {
       std::swap (operands[1], operands[2]);
       cmp_predicate = 5; /* NLT (GE)  */
      }
    if ((INTVAL (operands[4]) & 4) != 0)
      cmp_predicate ^= 4; /* Invert the comparison to NLE (GT) or LT.  */
    emit_insn (gen_avx512vl_ucmpv16qi3 (operands[0], operands[1],operands[2],
					GEN_INT (cmp_predicate)));
    DONE;
  }
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4141 */
extern rtx_insn *gen_split_1022 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1022 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1022 (sse.md:4141)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4156 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    /* LE: 2, NLT: 5, NLE: 6, LT: 1  */
    int cmp_predicate = 2; /* LE  */
    if (MEM_P (operands[1]))
      {
       std::swap (operands[1], operands[2]);
       cmp_predicate = 5; /* NLT (GE)  */
      }
    if ((INTVAL (operands[4]) & 4) != 0)
      cmp_predicate ^= 4; /* Invert the comparison to NLE (GT) or LT.  */
    emit_insn (gen_avx512vl_ucmpv32qi3 (operands[0], operands[1],operands[2],
					GEN_INT (cmp_predicate)));
    DONE;
  }
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4141 */
extern rtx_insn *gen_split_1023 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1023 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1023 (sse.md:4141)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4156 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    /* LE: 2, NLT: 5, NLE: 6, LT: 1  */
    int cmp_predicate = 2; /* LE  */
    if (MEM_P (operands[1]))
      {
       std::swap (operands[1], operands[2]);
       cmp_predicate = 5; /* NLT (GE)  */
      }
    if ((INTVAL (operands[4]) & 4) != 0)
      cmp_predicate ^= 4; /* Invert the comparison to NLE (GT) or LT.  */
    emit_insn (gen_avx512vl_ucmpv32qi3 (operands[0], operands[1],operands[2],
					GEN_INT (cmp_predicate)));
    DONE;
  }
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4141 */
extern rtx_insn *gen_split_1024 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1024 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1024 (sse.md:4141)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4156 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    /* LE: 2, NLT: 5, NLE: 6, LT: 1  */
    int cmp_predicate = 2; /* LE  */
    if (MEM_P (operands[1]))
      {
       std::swap (operands[1], operands[2]);
       cmp_predicate = 5; /* NLT (GE)  */
      }
    if ((INTVAL (operands[4]) & 4) != 0)
      cmp_predicate ^= 4; /* Invert the comparison to NLE (GT) or LT.  */
    emit_insn (gen_avx512bw_ucmpv32hi3 (operands[0], operands[1],operands[2],
					GEN_INT (cmp_predicate)));
    DONE;
  }
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4141 */
extern rtx_insn *gen_split_1025 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1025 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1025 (sse.md:4141)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4156 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    /* LE: 2, NLT: 5, NLE: 6, LT: 1  */
    int cmp_predicate = 2; /* LE  */
    if (MEM_P (operands[1]))
      {
       std::swap (operands[1], operands[2]);
       cmp_predicate = 5; /* NLT (GE)  */
      }
    if ((INTVAL (operands[4]) & 4) != 0)
      cmp_predicate ^= 4; /* Invert the comparison to NLE (GT) or LT.  */
    emit_insn (gen_avx512bw_ucmpv32hi3 (operands[0], operands[1],operands[2],
					GEN_INT (cmp_predicate)));
    DONE;
  }
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4141 */
extern rtx_insn *gen_split_1026 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1026 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1026 (sse.md:4141)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4156 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    /* LE: 2, NLT: 5, NLE: 6, LT: 1  */
    int cmp_predicate = 2; /* LE  */
    if (MEM_P (operands[1]))
      {
       std::swap (operands[1], operands[2]);
       cmp_predicate = 5; /* NLT (GE)  */
      }
    if ((INTVAL (operands[4]) & 4) != 0)
      cmp_predicate ^= 4; /* Invert the comparison to NLE (GT) or LT.  */
    emit_insn (gen_avx512vl_ucmpv16hi3 (operands[0], operands[1],operands[2],
					GEN_INT (cmp_predicate)));
    DONE;
  }
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4141 */
extern rtx_insn *gen_split_1027 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1027 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1027 (sse.md:4141)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4156 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    /* LE: 2, NLT: 5, NLE: 6, LT: 1  */
    int cmp_predicate = 2; /* LE  */
    if (MEM_P (operands[1]))
      {
       std::swap (operands[1], operands[2]);
       cmp_predicate = 5; /* NLT (GE)  */
      }
    if ((INTVAL (operands[4]) & 4) != 0)
      cmp_predicate ^= 4; /* Invert the comparison to NLE (GT) or LT.  */
    emit_insn (gen_avx512vl_ucmpv16hi3 (operands[0], operands[1],operands[2],
					GEN_INT (cmp_predicate)));
    DONE;
  }
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4141 */
extern rtx_insn *gen_split_1028 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1028 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1028 (sse.md:4141)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4156 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    /* LE: 2, NLT: 5, NLE: 6, LT: 1  */
    int cmp_predicate = 2; /* LE  */
    if (MEM_P (operands[1]))
      {
       std::swap (operands[1], operands[2]);
       cmp_predicate = 5; /* NLT (GE)  */
      }
    if ((INTVAL (operands[4]) & 4) != 0)
      cmp_predicate ^= 4; /* Invert the comparison to NLE (GT) or LT.  */
    emit_insn (gen_avx512vl_ucmpv8hi3 (operands[0], operands[1],operands[2],
					GEN_INT (cmp_predicate)));
    DONE;
  }
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4141 */
extern rtx_insn *gen_split_1029 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1029 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1029 (sse.md:4141)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4156 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    /* LE: 2, NLT: 5, NLE: 6, LT: 1  */
    int cmp_predicate = 2; /* LE  */
    if (MEM_P (operands[1]))
      {
       std::swap (operands[1], operands[2]);
       cmp_predicate = 5; /* NLT (GE)  */
      }
    if ((INTVAL (operands[4]) & 4) != 0)
      cmp_predicate ^= 4; /* Invert the comparison to NLE (GT) or LT.  */
    emit_insn (gen_avx512vl_ucmpv8hi3 (operands[0], operands[1],operands[2],
					GEN_INT (cmp_predicate)));
    DONE;
  }
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4225 */
rtx
gen_vec_cmpv16sihi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4231 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), HImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4225 */
rtx
gen_vec_cmpv8siqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4231 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4225 */
rtx
gen_vec_cmpv4siqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4231 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4225 */
rtx
gen_vec_cmpv8diqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4231 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4225 */
rtx
gen_vec_cmpv4diqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4231 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4225 */
rtx
gen_vec_cmpv2diqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4231 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4225 */
rtx
gen_vec_cmpv32hfsi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4231 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), SImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4225 */
rtx
gen_vec_cmpv16hfhi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4231 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), HImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4225 */
rtx
gen_vec_cmpv8hfqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4231 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4225 */
rtx
gen_vec_cmpv16sfhi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4231 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), HImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4225 */
rtx
gen_vec_cmpv8sfqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4231 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4225 */
rtx
gen_vec_cmpv4sfqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4231 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4225 */
rtx
gen_vec_cmpv8dfqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4231 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4225 */
rtx
gen_vec_cmpv4dfqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4231 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4225 */
rtx
gen_vec_cmpv2dfqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4231 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4238 */
rtx
gen_vec_cmpv64qidi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4244 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), DImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4238 */
rtx
gen_vec_cmpv16qihi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4244 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), HImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4238 */
rtx
gen_vec_cmpv32qisi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4244 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), SImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4238 */
rtx
gen_vec_cmpv32hisi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4244 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), SImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4238 */
rtx
gen_vec_cmpv16hihi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4244 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), HImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4238 */
rtx
gen_vec_cmpv8hiqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4244 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4251 */
rtx
gen_vec_cmpv32qiv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4257 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V32QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4251 */
rtx
gen_vec_cmpv16hiv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4257 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V16HImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4251 */
rtx
gen_vec_cmpv8siv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4257 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V8SImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4251 */
rtx
gen_vec_cmpv4div4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4257 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V4DImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4263 */
rtx
gen_vec_cmpv16qiv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4269 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V16QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4263 */
rtx
gen_vec_cmpv8hiv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4269 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V8HImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4263 */
rtx
gen_vec_cmpv4siv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4269 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V4SImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4275 */
rtx
gen_vec_cmpv2div2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4281 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V2DImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4287 */
rtx
gen_vec_cmpv8sfv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4293 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V8SImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4287 */
rtx
gen_vec_cmpv4dfv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4293 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V4DImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4299 */
rtx
gen_vec_cmpv4sfv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4305 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V4SImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4299 */
rtx
gen_vec_cmpv2dfv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4305 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V2DImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4311 */
rtx
gen_vec_cmpuv16sihi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4317 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), HImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4311 */
rtx
gen_vec_cmpuv8siqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4317 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4311 */
rtx
gen_vec_cmpuv4siqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4317 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4311 */
rtx
gen_vec_cmpuv8diqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4317 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4311 */
rtx
gen_vec_cmpuv4diqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4317 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4311 */
rtx
gen_vec_cmpuv2diqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4317 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4324 */
rtx
gen_vec_cmpuv64qidi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4330 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), DImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4324 */
rtx
gen_vec_cmpuv16qihi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4330 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), HImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4324 */
rtx
gen_vec_cmpuv32qisi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4330 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), SImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4324 */
rtx
gen_vec_cmpuv32hisi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4330 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), SImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4324 */
rtx
gen_vec_cmpuv16hihi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4330 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), HImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4324 */
rtx
gen_vec_cmpuv8hiqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4330 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_mask_vec_cmp (operands[0], GET_CODE (operands[1]),
				      operands[2], operands[3]);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4337 */
rtx
gen_vec_cmpuv32qiv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4343 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V32QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4337 */
rtx
gen_vec_cmpuv16hiv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4343 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V16HImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4337 */
rtx
gen_vec_cmpuv8siv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4343 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V8SImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4337 */
rtx
gen_vec_cmpuv4div4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4343 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V4DImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4349 */
rtx
gen_vec_cmpuv16qiv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V16QImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4349 */
rtx
gen_vec_cmpuv8hiv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V8HImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4349 */
rtx
gen_vec_cmpuv4siv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V4SImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4361 */
rtx
gen_vec_cmpuv2div2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4367 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V2DImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4373 */
rtx
gen_vec_cmpeqv2div2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4379 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vec_cmp (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_fmt_ee (GET_CODE (operand1), V2DImode,
		operand2,
		operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4385 */
rtx
gen_vcondv64qiv16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv64qiv16sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4396 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V64QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4385 */
rtx
gen_vcondv64qiv8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv64qiv8df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4396 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V64QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4385 */
rtx
gen_vcondv32hiv16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv32hiv16sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4396 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4385 */
rtx
gen_vcondv32hiv8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv32hiv8df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4396 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4385 */
rtx
gen_vcondv16siv16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16siv16sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4396 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4385 */
rtx
gen_vcondv16siv8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16siv8df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4396 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4385 */
rtx
gen_vcondv8div16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8div16sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4396 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4385 */
rtx
gen_vcondv8div8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8div8df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4396 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4385 */
rtx
gen_vcondv16sfv16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16sfv16sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4396 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4385 */
rtx
gen_vcondv16sfv8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16sfv8df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4396 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4385 */
rtx
gen_vcondv8dfv16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8dfv16sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4396 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4385 */
rtx
gen_vcondv8dfv8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8dfv8df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4396 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4402 */
rtx
gen_vcondv32qiv8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv32qiv8sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4413 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4402 */
rtx
gen_vcondv32qiv4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv32qiv4df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4413 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4402 */
rtx
gen_vcondv16hiv8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16hiv8sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4413 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4402 */
rtx
gen_vcondv16hiv4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16hiv4df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4413 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4402 */
rtx
gen_vcondv8siv8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8siv8sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4413 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4402 */
rtx
gen_vcondv8siv4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8siv4df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4413 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4402 */
rtx
gen_vcondv4div8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4div8sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4413 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4402 */
rtx
gen_vcondv4div4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4div4df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4413 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4402 */
rtx
gen_vcondv8sfv8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8sfv8sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4413 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4402 */
rtx
gen_vcondv8sfv4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8sfv4df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4413 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4402 */
rtx
gen_vcondv4dfv8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4dfv8sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4413 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4402 */
rtx
gen_vcondv4dfv4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4dfv4df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4413 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4419 */
rtx
gen_vcondv16qiv4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16qiv4sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4430 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4419 */
rtx
gen_vcondv8hiv4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8hiv4sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4430 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4419 */
rtx
gen_vcondv4siv4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4siv4sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4430 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4419 */
rtx
gen_vcondv2div4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2div4sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4430 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4419 */
rtx
gen_vcondv4sfv4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4sfv4sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4430 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4419 */
rtx
gen_vcondv2dfv4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2dfv4sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4430 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4419 */
rtx
gen_vcondv16qiv2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16qiv2df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4430 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4419 */
rtx
gen_vcondv8hiv2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8hiv2df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4430 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4419 */
rtx
gen_vcondv4siv2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4siv2df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4430 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4419 */
rtx
gen_vcondv2div2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2div2df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4430 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4419 */
rtx
gen_vcondv4sfv2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4sfv2df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4430 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4419 */
rtx
gen_vcondv2dfv2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2dfv2df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4430 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4436 */
rtx
gen_vcondv32hfv32hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv32hfv32hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4445 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32HFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4436 */
rtx
gen_vcondv16hfv16hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16hfv16hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4445 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16HFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4436 */
rtx
gen_vcondv8hfv8hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8hfv8hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4445 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8HFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4451 */
rtx
gen_vcondv32hfv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv32hfv32hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4460 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32HFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4451 */
rtx
gen_vcondv16hfv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16hfv16hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4460 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16HFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4451 */
rtx
gen_vcondv8hfv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8hfv8hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4460 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8HFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4466 */
rtx
gen_vcondv32hiv32hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv32hiv32hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4475 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4466 */
rtx
gen_vcondv16hiv16hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16hiv16hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4475 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4466 */
rtx
gen_vcondv8hiv8hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8hiv8hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4475 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_fp_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4481 */
rtx
gen_vcond_mask_v16sihi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4481 */
rtx
gen_vcond_mask_v8siqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4481 */
rtx
gen_vcond_mask_v4siqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4481 */
rtx
gen_vcond_mask_v8diqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4481 */
rtx
gen_vcond_mask_v4diqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4481 */
rtx
gen_vcond_mask_v2diqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4481 */
rtx
gen_vcond_mask_v16sfhi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4481 */
rtx
gen_vcond_mask_v8sfqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4481 */
rtx
gen_vcond_mask_v4sfqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4481 */
rtx
gen_vcond_mask_v8dfqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4481 */
rtx
gen_vcond_mask_v4dfqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4481 */
rtx
gen_vcond_mask_v2dfqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4489 */
rtx
gen_vcond_mask_v64qidi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4489 */
rtx
gen_vcond_mask_v16qihi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4489 */
rtx
gen_vcond_mask_v32qisi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4489 */
rtx
gen_vcond_mask_v32hisi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4489 */
rtx
gen_vcond_mask_v16hihi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4489 */
rtx
gen_vcond_mask_v8hiqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4489 */
rtx
gen_vcond_mask_v32hfsi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4489 */
rtx
gen_vcond_mask_v16hfhi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4489 */
rtx
gen_vcond_mask_v8hfqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4503 */
rtx
gen_vcond_mask_v32qiv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL _Pragma ("GCC error \"vcond_mask_v32qiv32qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4510 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_sse_movcc (operands[0], operands[3],
			 operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4503 */
rtx
gen_vcond_mask_v16hiv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL _Pragma ("GCC error \"vcond_mask_v16hiv16hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4510 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_sse_movcc (operands[0], operands[3],
			 operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4503 */
rtx
gen_vcond_mask_v8siv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL _Pragma ("GCC error \"vcond_mask_v8siv8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4510 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_sse_movcc (operands[0], operands[3],
			 operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4503 */
rtx
gen_vcond_mask_v4div4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL _Pragma ("GCC error \"vcond_mask_v4div4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4510 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_sse_movcc (operands[0], operands[3],
			 operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4516 */
rtx
gen_vcond_mask_v16qiv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL _Pragma ("GCC error \"vcond_mask_v16qiv16qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4523 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_sse_movcc (operands[0], operands[3],
			 operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4516 */
rtx
gen_vcond_mask_v8hiv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL _Pragma ("GCC error \"vcond_mask_v8hiv8hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4523 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_sse_movcc (operands[0], operands[3],
			 operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4516 */
rtx
gen_vcond_mask_v4siv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL _Pragma ("GCC error \"vcond_mask_v4siv4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4523 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_sse_movcc (operands[0], operands[3],
			 operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4529 */
rtx
gen_vcond_mask_v2div2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL _Pragma ("GCC error \"vcond_mask_v2div2di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4536 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_sse_movcc (operands[0], operands[3],
			 operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4542 */
rtx
gen_vcond_mask_v8sfv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL _Pragma ("GCC error \"vcond_mask_v8sfv8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4549 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_sse_movcc (operands[0], operands[3],
			 operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4542 */
rtx
gen_vcond_mask_v4dfv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL _Pragma ("GCC error \"vcond_mask_v4dfv4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4549 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_sse_movcc (operands[0], operands[3],
			 operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4555 */
rtx
gen_vcond_mask_v4sfv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL _Pragma ("GCC error \"vcond_mask_v4sfv4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_sse_movcc (operands[0], operands[3],
			 operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4555 */
rtx
gen_vcond_mask_v2dfv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL _Pragma ("GCC error \"vcond_mask_v2dfv2di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_sse_movcc (operands[0], operands[3],
			 operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	operand1,
	operand2,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_andv16hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, V16HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V16HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_iorv16hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, V16HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V16HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_xorv16hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, V16HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V16HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_andv8hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, V8HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V8HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_iorv8hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, V8HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V8HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_xorv8hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, V8HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V8HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_andv8sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, V8SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V8SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_andv8sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, V8SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_AND (V8SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_iorv8sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, V8SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V8SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_iorv8sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, V8SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_IOR (V8SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_xorv8sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, V8SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V8SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_xorv8sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, V8SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_XOR (V8SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_andv4sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, V4SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V4SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_andv4sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, V4SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_AND (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_iorv4sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, V4SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V4SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_iorv4sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, V4SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_IOR (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_xorv4sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, V4SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V4SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_xorv4sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, V4SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_XOR (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_andv4df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, V4DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V4DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_andv4df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, V4DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_AND (V4DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_iorv4df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, V4DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V4DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_iorv4df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, V4DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_IOR (V4DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_xorv4df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, V4DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V4DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_xorv4df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, V4DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_XOR (V4DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_andv2df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, V2DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V2DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_andv2df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, V2DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_AND (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_iorv2df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, V2DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V2DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_iorv2df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, V2DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_IOR (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_xorv2df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, V2DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V2DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4678 */
rtx
gen_xorv2df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4685 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, V2DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_XOR (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4687 */
rtx
gen_andv32hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4693 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, V32HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V32HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4687 */
rtx
gen_iorv32hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4693 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, V32HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V32HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4687 */
rtx
gen_xorv32hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4693 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, V32HFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V32HFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4687 */
rtx
gen_andv16sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4693 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, V16SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V16SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4687 */
rtx
gen_andv16sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4693 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, V16SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_AND (V16SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4687 */
rtx
gen_iorv16sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4693 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, V16SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V16SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4687 */
rtx
gen_iorv16sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4693 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, V16SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_IOR (V16SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4687 */
rtx
gen_xorv16sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4693 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, V16SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V16SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4687 */
rtx
gen_xorv16sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4693 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, V16SFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_XOR (V16SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4687 */
rtx
gen_andv8df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4693 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, V8DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V8DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4687 */
rtx
gen_andv8df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4693 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, V8DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_AND (V8DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4687 */
rtx
gen_iorv8df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4693 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, V8DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V8DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4687 */
rtx
gen_iorv8df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4693 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, V8DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_IOR (V8DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4687 */
rtx
gen_xorv8df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4693 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, V8DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V8DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4687 */
rtx
gen_xorv8df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4693 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, V8DFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_XOR (V8DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4802 */
extern rtx_insn *gen_split_1030 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1030 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1030 (sse.md:4802)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4810 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = force_reg (V32HFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4802 */
extern rtx_insn *gen_split_1031 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1031 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1031 (sse.md:4802)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4810 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = force_reg (V16HFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4802 */
extern rtx_insn *gen_split_1032 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1032 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1032 (sse.md:4802)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4810 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = force_reg (V8HFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4802 */
extern rtx_insn *gen_split_1033 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1033 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1033 (sse.md:4802)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4810 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = force_reg (V16SFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4802 */
extern rtx_insn *gen_split_1034 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1034 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1034 (sse.md:4802)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4810 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = force_reg (V8SFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4802 */
extern rtx_insn *gen_split_1035 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1035 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1035 (sse.md:4802)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4810 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = force_reg (V4SFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4802 */
extern rtx_insn *gen_split_1036 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1036 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1036 (sse.md:4802)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4810 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = force_reg (V8DFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4802 */
extern rtx_insn *gen_split_1037 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1037 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1037 (sse.md:4802)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4810 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = force_reg (V4DFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4802 */
extern rtx_insn *gen_split_1038 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1038 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1038 (sse.md:4802)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4810 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = force_reg (V2DFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4812 */
rtx
gen_copysignv32hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"copysignv32hf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4823 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = ix86_build_signbit_mask (V32HFmode, 1, 0);

  operands[4] = gen_reg_rtx (V32HFmode);
  operands[5] = gen_reg_rtx (V32HFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_AND (V32HFmode,
	gen_rtx_NOT (V32HFmode,
	operand3),
	operand1)));
  emit_insn (gen_rtx_SET (operand5,
	gen_rtx_AND (V32HFmode,
	copy_rtx (operand3),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V32HFmode,
	copy_rtx (operand4),
	copy_rtx (operand5))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4812 */
rtx
gen_copysignv16hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"copysignv16hf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4823 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = ix86_build_signbit_mask (V16HFmode, 1, 0);

  operands[4] = gen_reg_rtx (V16HFmode);
  operands[5] = gen_reg_rtx (V16HFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_AND (V16HFmode,
	gen_rtx_NOT (V16HFmode,
	operand3),
	operand1)));
  emit_insn (gen_rtx_SET (operand5,
	gen_rtx_AND (V16HFmode,
	copy_rtx (operand3),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V16HFmode,
	copy_rtx (operand4),
	copy_rtx (operand5))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4812 */
rtx
gen_copysignv8hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"copysignv8hf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4823 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = ix86_build_signbit_mask (V8HFmode, 1, 0);

  operands[4] = gen_reg_rtx (V8HFmode);
  operands[5] = gen_reg_rtx (V8HFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_AND (V8HFmode,
	gen_rtx_NOT (V8HFmode,
	operand3),
	operand1)));
  emit_insn (gen_rtx_SET (operand5,
	gen_rtx_AND (V8HFmode,
	copy_rtx (operand3),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V8HFmode,
	copy_rtx (operand4),
	copy_rtx (operand5))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4812 */
rtx
gen_copysignv16sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"copysignv16sf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4823 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = ix86_build_signbit_mask (V16SFmode, 1, 0);

  operands[4] = gen_reg_rtx (V16SFmode);
  operands[5] = gen_reg_rtx (V16SFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_AND (V16SFmode,
	gen_rtx_NOT (V16SFmode,
	operand3),
	operand1)));
  emit_insn (gen_rtx_SET (operand5,
	gen_rtx_AND (V16SFmode,
	copy_rtx (operand3),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V16SFmode,
	copy_rtx (operand4),
	copy_rtx (operand5))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4812 */
rtx
gen_copysignv8sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"copysignv8sf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4823 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = ix86_build_signbit_mask (V8SFmode, 1, 0);

  operands[4] = gen_reg_rtx (V8SFmode);
  operands[5] = gen_reg_rtx (V8SFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_AND (V8SFmode,
	gen_rtx_NOT (V8SFmode,
	operand3),
	operand1)));
  emit_insn (gen_rtx_SET (operand5,
	gen_rtx_AND (V8SFmode,
	copy_rtx (operand3),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V8SFmode,
	copy_rtx (operand4),
	copy_rtx (operand5))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4812 */
rtx
gen_copysignv4sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"copysignv4sf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4823 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = ix86_build_signbit_mask (V4SFmode, 1, 0);

  operands[4] = gen_reg_rtx (V4SFmode);
  operands[5] = gen_reg_rtx (V4SFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_AND (V4SFmode,
	gen_rtx_NOT (V4SFmode,
	operand3),
	operand1)));
  emit_insn (gen_rtx_SET (operand5,
	gen_rtx_AND (V4SFmode,
	copy_rtx (operand3),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V4SFmode,
	copy_rtx (operand4),
	copy_rtx (operand5))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4812 */
rtx
gen_copysignv8df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"copysignv8df3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4823 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = ix86_build_signbit_mask (V8DFmode, 1, 0);

  operands[4] = gen_reg_rtx (V8DFmode);
  operands[5] = gen_reg_rtx (V8DFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_AND (V8DFmode,
	gen_rtx_NOT (V8DFmode,
	operand3),
	operand1)));
  emit_insn (gen_rtx_SET (operand5,
	gen_rtx_AND (V8DFmode,
	copy_rtx (operand3),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V8DFmode,
	copy_rtx (operand4),
	copy_rtx (operand5))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4812 */
rtx
gen_copysignv4df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"copysignv4df3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4823 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = ix86_build_signbit_mask (V4DFmode, 1, 0);

  operands[4] = gen_reg_rtx (V4DFmode);
  operands[5] = gen_reg_rtx (V4DFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_AND (V4DFmode,
	gen_rtx_NOT (V4DFmode,
	operand3),
	operand1)));
  emit_insn (gen_rtx_SET (operand5,
	gen_rtx_AND (V4DFmode,
	copy_rtx (operand3),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V4DFmode,
	copy_rtx (operand4),
	copy_rtx (operand5))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4812 */
rtx
gen_copysignv2df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"copysignv2df3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4823 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = ix86_build_signbit_mask (V2DFmode, 1, 0);

  operands[4] = gen_reg_rtx (V2DFmode);
  operands[5] = gen_reg_rtx (V2DFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_AND (V2DFmode,
	gen_rtx_NOT (V2DFmode,
	operand3),
	operand1)));
  emit_insn (gen_rtx_SET (operand5,
	gen_rtx_AND (V2DFmode,
	copy_rtx (operand3),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V2DFmode,
	copy_rtx (operand4),
	copy_rtx (operand5))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4830 */
rtx
gen_xorsignv32hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"xorsignv32hf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4838 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = ix86_build_signbit_mask (V32HFmode, 1, 0);

  operands[4] = gen_reg_rtx (V32HFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_AND (V32HFmode,
	operand3,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V32HFmode,
	copy_rtx (operand4),
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4830 */
rtx
gen_xorsignv16hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"xorsignv16hf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4838 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = ix86_build_signbit_mask (V16HFmode, 1, 0);

  operands[4] = gen_reg_rtx (V16HFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_AND (V16HFmode,
	operand3,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V16HFmode,
	copy_rtx (operand4),
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4830 */
rtx
gen_xorsignv8hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"xorsignv8hf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4838 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = ix86_build_signbit_mask (V8HFmode, 1, 0);

  operands[4] = gen_reg_rtx (V8HFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_AND (V8HFmode,
	operand3,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V8HFmode,
	copy_rtx (operand4),
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4830 */
rtx
gen_xorsignv16sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"xorsignv16sf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4838 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = ix86_build_signbit_mask (V16SFmode, 1, 0);

  operands[4] = gen_reg_rtx (V16SFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_AND (V16SFmode,
	operand3,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V16SFmode,
	copy_rtx (operand4),
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4830 */
rtx
gen_xorsignv8sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"xorsignv8sf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4838 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = ix86_build_signbit_mask (V8SFmode, 1, 0);

  operands[4] = gen_reg_rtx (V8SFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_AND (V8SFmode,
	operand3,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V8SFmode,
	copy_rtx (operand4),
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4830 */
rtx
gen_xorsignv4sf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"xorsignv4sf3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4838 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = ix86_build_signbit_mask (V4SFmode, 1, 0);

  operands[4] = gen_reg_rtx (V4SFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_AND (V4SFmode,
	operand3,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V4SFmode,
	copy_rtx (operand4),
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4830 */
rtx
gen_xorsignv8df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"xorsignv8df3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4838 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = ix86_build_signbit_mask (V8DFmode, 1, 0);

  operands[4] = gen_reg_rtx (V8DFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_AND (V8DFmode,
	operand3,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V8DFmode,
	copy_rtx (operand4),
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4830 */
rtx
gen_xorsignv4df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"xorsignv4df3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4838 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = ix86_build_signbit_mask (V4DFmode, 1, 0);

  operands[4] = gen_reg_rtx (V4DFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_AND (V4DFmode,
	operand3,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V4DFmode,
	copy_rtx (operand4),
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4830 */
rtx
gen_xorsignv2df3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"xorsignv2df3 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4838 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = ix86_build_signbit_mask (V2DFmode, 1, 0);

  operands[4] = gen_reg_rtx (V2DFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_AND (V2DFmode,
	operand3,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V2DFmode,
	copy_rtx (operand4),
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4844 */
rtx
gen_signbitv16sf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"signbitv16sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4851 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V16SFmode, operands[1]);
  operands[2] = GEN_INT (GET_MODE_UNIT_BITSIZE (V16SFmode)-1);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V16SImode,
	gen_rtx_SUBREG (V16SImode,
	operand1,
	0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4844 */
rtx
gen_signbitv8sf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"signbitv8sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4851 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V8SFmode, operands[1]);
  operands[2] = GEN_INT (GET_MODE_UNIT_BITSIZE (V8SFmode)-1);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V8SImode,
	gen_rtx_SUBREG (V8SImode,
	operand1,
	0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:4844 */
rtx
gen_signbitv4sf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"signbitv4sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 4851 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = force_reg (V4SFmode, operands[1]);
  operands[2] = GEN_INT (GET_MODE_UNIT_BITSIZE (V4SFmode)-1);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V4SImode,
	gen_rtx_SUBREG (V4SImode,
	operand1,
	0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5055 */
rtx
gen_andtf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5061 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, TFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (TFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5055 */
rtx
gen_iortf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5061 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, TFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (TFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5055 */
rtx
gen_xortf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5061 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, TFmode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (TFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5149 */
rtx
gen_fmasf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (SFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5149 */
rtx
gen_fmadf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (DFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5149 */
rtx
gen_fmav4sf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5149 */
rtx
gen_fmav2df4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5149 */
rtx
gen_fmav8sf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V8SFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5149 */
rtx
gen_fmav4df4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V4DFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5149 */
rtx
gen_fmav16sf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V16SFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5149 */
rtx
gen_fmav8df4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V8DFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5149 */
rtx
gen_fmahf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (HFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5149 */
rtx
gen_fmav8hf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5149 */
rtx
gen_fmav16hf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V16HFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5149 */
rtx
gen_fmav32hf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V32HFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5156 */
rtx
gen_fmssf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (SFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5156 */
rtx
gen_fmsdf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (DFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5156 */
rtx
gen_fmsv4sf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V4SFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5156 */
rtx
gen_fmsv2df4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V2DFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5156 */
rtx
gen_fmsv8sf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V8SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8SFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5156 */
rtx
gen_fmsv4df4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V4DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V4DFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5156 */
rtx
gen_fmsv16sf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V16SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V16SFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5156 */
rtx
gen_fmsv8df4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V8DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8DFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5156 */
rtx
gen_fmshf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (HFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5156 */
rtx
gen_fmsv8hf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8HFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5156 */
rtx
gen_fmsv16hf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V16HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V16HFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5156 */
rtx
gen_fmsv32hf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V32HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V32HFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5163 */
rtx
gen_fnmasf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (SFmode,
	gen_rtx_NEG (SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5163 */
rtx
gen_fnmadf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (DFmode,
	gen_rtx_NEG (DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5163 */
rtx
gen_fnmav4sf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5163 */
rtx
gen_fnmav2df4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5163 */
rtx
gen_fnmav8sf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V8SFmode,
	gen_rtx_NEG (V8SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5163 */
rtx
gen_fnmav4df4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V4DFmode,
	gen_rtx_NEG (V4DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5163 */
rtx
gen_fnmav16sf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V16SFmode,
	gen_rtx_NEG (V16SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5163 */
rtx
gen_fnmav8df4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V8DFmode,
	gen_rtx_NEG (V8DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5163 */
rtx
gen_fnmahf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (HFmode,
	gen_rtx_NEG (HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5163 */
rtx
gen_fnmav8hf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V8HFmode,
	gen_rtx_NEG (V8HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5163 */
rtx
gen_fnmav16hf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V16HFmode,
	gen_rtx_NEG (V16HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5163 */
rtx
gen_fnmav32hf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V32HFmode,
	gen_rtx_NEG (V32HFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5170 */
rtx
gen_fnmssf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (SFmode,
	gen_rtx_NEG (SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (SFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5170 */
rtx
gen_fnmsdf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (DFmode,
	gen_rtx_NEG (DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (DFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5170 */
rtx
gen_fnmsv4sf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V4SFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5170 */
rtx
gen_fnmsv2df4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V2DFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5170 */
rtx
gen_fnmsv8sf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V8SFmode,
	gen_rtx_NEG (V8SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V8SFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5170 */
rtx
gen_fnmsv4df4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V4DFmode,
	gen_rtx_NEG (V4DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V4DFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5170 */
rtx
gen_fnmsv16sf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V16SFmode,
	gen_rtx_NEG (V16SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V16SFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5170 */
rtx
gen_fnmsv8df4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V8DFmode,
	gen_rtx_NEG (V8DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V8DFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5170 */
rtx
gen_fnmshf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (HFmode,
	gen_rtx_NEG (HFmode,
	operand1),
	operand2,
	gen_rtx_NEG (HFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5170 */
rtx
gen_fnmsv8hf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V8HFmode,
	gen_rtx_NEG (V8HFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V8HFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5170 */
rtx
gen_fnmsv16hf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V16HFmode,
	gen_rtx_NEG (V16HFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V16HFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5170 */
rtx
gen_fnmsv32hf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V32HFmode,
	gen_rtx_NEG (V32HFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V32HFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5191 */
rtx
gen_fma4i_fmadd_sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (SFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5191 */
rtx
gen_fma4i_fmadd_df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (DFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5191 */
rtx
gen_fma4i_fmadd_v4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5191 */
rtx
gen_fma4i_fmadd_v2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5191 */
rtx
gen_fma4i_fmadd_v8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V8SFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5191 */
rtx
gen_fma4i_fmadd_v4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V4DFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5191 */
rtx
gen_fma4i_fmadd_v16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V16SFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5191 */
rtx
gen_fma4i_fmadd_v8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V8DFmode,
	operand1,
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5198 */
rtx
gen_fma4i_fmsub_sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (SFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5198 */
rtx
gen_fma4i_fmsub_df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (DFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5198 */
rtx
gen_fma4i_fmsub_v4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V4SFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5198 */
rtx
gen_fma4i_fmsub_v2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V2DFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5198 */
rtx
gen_fma4i_fmsub_v8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V8SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8SFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5198 */
rtx
gen_fma4i_fmsub_v4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V4DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V4DFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5198 */
rtx
gen_fma4i_fmsub_v16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V16SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V16SFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5198 */
rtx
gen_fma4i_fmsub_v8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V8DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8DFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5206 */
rtx
gen_fma4i_fnmadd_sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (SFmode,
	gen_rtx_NEG (SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5206 */
rtx
gen_fma4i_fnmadd_df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (DFmode,
	gen_rtx_NEG (DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5206 */
rtx
gen_fma4i_fnmadd_v4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5206 */
rtx
gen_fma4i_fnmadd_v2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5206 */
rtx
gen_fma4i_fnmadd_v8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V8SFmode,
	gen_rtx_NEG (V8SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5206 */
rtx
gen_fma4i_fnmadd_v4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V4DFmode,
	gen_rtx_NEG (V4DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5206 */
rtx
gen_fma4i_fnmadd_v16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V16SFmode,
	gen_rtx_NEG (V16SFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5206 */
rtx
gen_fma4i_fnmadd_v8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V8DFmode,
	gen_rtx_NEG (V8DFmode,
	operand1),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5214 */
rtx
gen_fma4i_fnmsub_sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (SFmode,
	gen_rtx_NEG (SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (SFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5214 */
rtx
gen_fma4i_fnmsub_df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (DFmode,
	gen_rtx_NEG (DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (DFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5214 */
rtx
gen_fma4i_fnmsub_v4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V4SFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5214 */
rtx
gen_fma4i_fnmsub_v2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V2DFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5214 */
rtx
gen_fma4i_fnmsub_v8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V8SFmode,
	gen_rtx_NEG (V8SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V8SFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5214 */
rtx
gen_fma4i_fnmsub_v4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V4DFmode,
	gen_rtx_NEG (V4DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V4DFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5214 */
rtx
gen_fma4i_fnmsub_v16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V16SFmode,
	gen_rtx_NEG (V16SFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V16SFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5214 */
rtx
gen_fma4i_fnmsub_v8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FMA (V8DFmode,
	gen_rtx_NEG (V8DFmode,
	operand1),
	operand2,
	gen_rtx_NEG (V8DFmode,
	operand3)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5223 */
rtx
gen_avx512bw_fmadd_v32hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5230 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmadd_v32hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V32HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5223 */
rtx
gen_avx512bw_fmadd_v32hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5230 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmadd_v32hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V32HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5223 */
rtx
gen_avx512vl_fmadd_v16hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5230 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmadd_v16hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5223 */
rtx
gen_avx512vl_fmadd_v16hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5230 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmadd_v16hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5223 */
rtx
gen_avx512fp16_fmadd_v8hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5230 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmadd_v8hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5223 */
rtx
gen_avx512fp16_fmadd_v8hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5230 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmadd_v8hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5223 */
rtx
gen_avx512f_fmadd_v16sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5230 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmadd_v16sf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5223 */
rtx
gen_avx512f_fmadd_v16sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5230 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmadd_v16sf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16SFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5223 */
rtx
gen_avx512vl_fmadd_v8sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5230 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmadd_v8sf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5223 */
rtx
gen_avx512vl_fmadd_v8sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5230 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmadd_v8sf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8SFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5223 */
rtx
gen_avx512vl_fmadd_v4sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5230 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmadd_v4sf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5223 */
rtx
gen_avx512vl_fmadd_v4sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5230 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmadd_v4sf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4SFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5223 */
rtx
gen_avx512f_fmadd_v8df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5230 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmadd_v8df_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5223 */
rtx
gen_avx512f_fmadd_v8df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5230 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmadd_v8df_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8DFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5223 */
rtx
gen_avx512vl_fmadd_v4df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5230 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmadd_v4df_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5223 */
rtx
gen_avx512vl_fmadd_v4df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5230 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmadd_v4df_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4DFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5223 */
rtx
gen_avx512vl_fmadd_v2df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5230 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmadd_v2df_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V2DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5223 */
rtx
gen_avx512vl_fmadd_v2df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5230 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmadd_v2df_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V2DFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5277 */
rtx
gen_cond_fmav32hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fmav32hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5287 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V32HFmode);
  emit_insn (gen_fmav32hf4 (tmp,
			     operands[2],
			     operands[3],
			     operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V32HFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	operand2,
	operand3,
	operand4),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5277 */
rtx
gen_cond_fmav16hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fmav16hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5287 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16HFmode);
  emit_insn (gen_fmav16hf4 (tmp,
			     operands[2],
			     operands[3],
			     operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V16HFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FMA (V16HFmode,
	operand2,
	operand3,
	operand4),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5277 */
rtx
gen_cond_fmav8hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fmav8hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5287 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8HFmode);
  emit_insn (gen_fmav8hf4 (tmp,
			     operands[2],
			     operands[3],
			     operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V8HFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand2,
	operand3,
	operand4),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5277 */
rtx
gen_cond_fmav16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fmav16sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5287 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16SFmode);
  emit_insn (gen_fmav16sf4 (tmp,
			     operands[2],
			     operands[3],
			     operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V16SFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	operand2,
	operand3,
	operand4),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5277 */
rtx
gen_cond_fmav8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fmav8sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5287 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8SFmode);
  emit_insn (gen_fmav8sf4 (tmp,
			     operands[2],
			     operands[3],
			     operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V8SFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FMA (V8SFmode,
	operand2,
	operand3,
	operand4),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5277 */
rtx
gen_cond_fmav4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fmav4sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5287 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SFmode);
  emit_insn (gen_fmav4sf4 (tmp,
			     operands[2],
			     operands[3],
			     operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V4SFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand2,
	operand3,
	operand4),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5277 */
rtx
gen_cond_fmav8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fmav8df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5287 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8DFmode);
  emit_insn (gen_fmav8df4 (tmp,
			     operands[2],
			     operands[3],
			     operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V8DFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	operand2,
	operand3,
	operand4),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5277 */
rtx
gen_cond_fmav4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fmav4df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5287 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4DFmode);
  emit_insn (gen_fmav4df4 (tmp,
			     operands[2],
			     operands[3],
			     operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V4DFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FMA (V4DFmode,
	operand2,
	operand3,
	operand4),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5277 */
rtx
gen_cond_fmav2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fmav2df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5287 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V2DFmode);
  emit_insn (gen_fmav2df4 (tmp,
			     operands[2],
			     operands[3],
			     operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V2DFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand2,
	operand3,
	operand4),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5348 */
rtx
gen_avx512bw_fmsub_v32hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsub_v32hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V32HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5348 */
rtx
gen_avx512bw_fmsub_v32hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsub_v32hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V32HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5348 */
rtx
gen_avx512vl_fmsub_v16hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsub_v16hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5348 */
rtx
gen_avx512vl_fmsub_v16hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsub_v16hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5348 */
rtx
gen_avx512fp16_fmsub_v8hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsub_v8hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5348 */
rtx
gen_avx512fp16_fmsub_v8hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsub_v8hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5348 */
rtx
gen_avx512f_fmsub_v16sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsub_v16sf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5348 */
rtx
gen_avx512f_fmsub_v16sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsub_v16sf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16SFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5348 */
rtx
gen_avx512vl_fmsub_v8sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsub_v8sf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5348 */
rtx
gen_avx512vl_fmsub_v8sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsub_v8sf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8SFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5348 */
rtx
gen_avx512vl_fmsub_v4sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsub_v4sf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5348 */
rtx
gen_avx512vl_fmsub_v4sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsub_v4sf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4SFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5348 */
rtx
gen_avx512f_fmsub_v8df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsub_v8df_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5348 */
rtx
gen_avx512f_fmsub_v8df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsub_v8df_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8DFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5348 */
rtx
gen_avx512vl_fmsub_v4df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsub_v4df_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5348 */
rtx
gen_avx512vl_fmsub_v4df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsub_v4df_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4DFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5348 */
rtx
gen_avx512vl_fmsub_v2df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsub_v2df_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V2DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5348 */
rtx
gen_avx512vl_fmsub_v2df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsub_v2df_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V2DFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5377 */
rtx
gen_cond_fmsv32hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fmsv32hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5388 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V32HFmode);
  emit_insn (gen_fmsv32hf4 (tmp,
			     operands[2],
			     operands[3],
			     operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V32HFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	operand2,
	operand3,
	gen_rtx_NEG (V32HFmode,
	operand4)),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5377 */
rtx
gen_cond_fmsv16hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fmsv16hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5388 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16HFmode);
  emit_insn (gen_fmsv16hf4 (tmp,
			     operands[2],
			     operands[3],
			     operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V16HFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FMA (V16HFmode,
	operand2,
	operand3,
	gen_rtx_NEG (V16HFmode,
	operand4)),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5377 */
rtx
gen_cond_fmsv8hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fmsv8hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5388 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8HFmode);
  emit_insn (gen_fmsv8hf4 (tmp,
			     operands[2],
			     operands[3],
			     operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V8HFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand2,
	operand3,
	gen_rtx_NEG (V8HFmode,
	operand4)),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5377 */
rtx
gen_cond_fmsv16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fmsv16sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5388 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16SFmode);
  emit_insn (gen_fmsv16sf4 (tmp,
			     operands[2],
			     operands[3],
			     operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V16SFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	operand2,
	operand3,
	gen_rtx_NEG (V16SFmode,
	operand4)),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5377 */
rtx
gen_cond_fmsv8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fmsv8sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5388 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8SFmode);
  emit_insn (gen_fmsv8sf4 (tmp,
			     operands[2],
			     operands[3],
			     operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V8SFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FMA (V8SFmode,
	operand2,
	operand3,
	gen_rtx_NEG (V8SFmode,
	operand4)),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5377 */
rtx
gen_cond_fmsv4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fmsv4sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5388 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SFmode);
  emit_insn (gen_fmsv4sf4 (tmp,
			     operands[2],
			     operands[3],
			     operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V4SFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand2,
	operand3,
	gen_rtx_NEG (V4SFmode,
	operand4)),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5377 */
rtx
gen_cond_fmsv8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fmsv8df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5388 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8DFmode);
  emit_insn (gen_fmsv8df4 (tmp,
			     operands[2],
			     operands[3],
			     operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V8DFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	operand2,
	operand3,
	gen_rtx_NEG (V8DFmode,
	operand4)),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5377 */
rtx
gen_cond_fmsv4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fmsv4df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5388 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4DFmode);
  emit_insn (gen_fmsv4df4 (tmp,
			     operands[2],
			     operands[3],
			     operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V4DFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FMA (V4DFmode,
	operand2,
	operand3,
	gen_rtx_NEG (V4DFmode,
	operand4)),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5377 */
rtx
gen_cond_fmsv2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fmsv2df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5388 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V2DFmode);
  emit_insn (gen_fmsv2df4 (tmp,
			     operands[2],
			     operands[3],
			     operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V2DFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand2,
	operand3,
	gen_rtx_NEG (V2DFmode,
	operand4)),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5451 */
rtx
gen_avx512bw_fnmadd_v32hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmadd_v32hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V32HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5451 */
rtx
gen_avx512bw_fnmadd_v32hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmadd_v32hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V32HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5451 */
rtx
gen_avx512vl_fnmadd_v16hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmadd_v16hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5451 */
rtx
gen_avx512vl_fnmadd_v16hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmadd_v16hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5451 */
rtx
gen_avx512fp16_fnmadd_v8hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmadd_v8hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5451 */
rtx
gen_avx512fp16_fnmadd_v8hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmadd_v8hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5451 */
rtx
gen_avx512f_fnmadd_v16sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmadd_v16sf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5451 */
rtx
gen_avx512f_fnmadd_v16sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmadd_v16sf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16SFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5451 */
rtx
gen_avx512vl_fnmadd_v8sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmadd_v8sf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5451 */
rtx
gen_avx512vl_fnmadd_v8sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmadd_v8sf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8SFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5451 */
rtx
gen_avx512vl_fnmadd_v4sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmadd_v4sf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5451 */
rtx
gen_avx512vl_fnmadd_v4sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmadd_v4sf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4SFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5451 */
rtx
gen_avx512f_fnmadd_v8df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmadd_v8df_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5451 */
rtx
gen_avx512f_fnmadd_v8df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmadd_v8df_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8DFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5451 */
rtx
gen_avx512vl_fnmadd_v4df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmadd_v4df_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5451 */
rtx
gen_avx512vl_fnmadd_v4df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmadd_v4df_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4DFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5451 */
rtx
gen_avx512vl_fnmadd_v2df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmadd_v2df_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V2DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5451 */
rtx
gen_avx512vl_fnmadd_v2df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmadd_v2df_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V2DFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5480 */
rtx
gen_cond_fnmav32hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fnmav32hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5491 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V32HFmode);
  emit_insn (gen_fnmav32hf4 (tmp,
			      operands[2],
			      operands[3],
			      operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V32HFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	gen_rtx_NEG (V32HFmode,
	operand2),
	operand3,
	operand4),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5480 */
rtx
gen_cond_fnmav16hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fnmav16hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5491 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16HFmode);
  emit_insn (gen_fnmav16hf4 (tmp,
			      operands[2],
			      operands[3],
			      operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V16HFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FMA (V16HFmode,
	gen_rtx_NEG (V16HFmode,
	operand2),
	operand3,
	operand4),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5480 */
rtx
gen_cond_fnmav8hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fnmav8hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5491 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8HFmode);
  emit_insn (gen_fnmav8hf4 (tmp,
			      operands[2],
			      operands[3],
			      operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V8HFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	gen_rtx_NEG (V8HFmode,
	operand2),
	operand3,
	operand4),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5480 */
rtx
gen_cond_fnmav16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fnmav16sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5491 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16SFmode);
  emit_insn (gen_fnmav16sf4 (tmp,
			      operands[2],
			      operands[3],
			      operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V16SFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	gen_rtx_NEG (V16SFmode,
	operand2),
	operand3,
	operand4),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5480 */
rtx
gen_cond_fnmav8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fnmav8sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5491 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8SFmode);
  emit_insn (gen_fnmav8sf4 (tmp,
			      operands[2],
			      operands[3],
			      operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V8SFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FMA (V8SFmode,
	gen_rtx_NEG (V8SFmode,
	operand2),
	operand3,
	operand4),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5480 */
rtx
gen_cond_fnmav4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fnmav4sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5491 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SFmode);
  emit_insn (gen_fnmav4sf4 (tmp,
			      operands[2],
			      operands[3],
			      operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V4SFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand2),
	operand3,
	operand4),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5480 */
rtx
gen_cond_fnmav8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fnmav8df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5491 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8DFmode);
  emit_insn (gen_fnmav8df4 (tmp,
			      operands[2],
			      operands[3],
			      operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V8DFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	gen_rtx_NEG (V8DFmode,
	operand2),
	operand3,
	operand4),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5480 */
rtx
gen_cond_fnmav4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fnmav4df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5491 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4DFmode);
  emit_insn (gen_fnmav4df4 (tmp,
			      operands[2],
			      operands[3],
			      operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V4DFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FMA (V4DFmode,
	gen_rtx_NEG (V4DFmode,
	operand2),
	operand3,
	operand4),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5480 */
rtx
gen_cond_fnmav2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fnmav2df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5491 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V2DFmode);
  emit_insn (gen_fnmav2df4 (tmp,
			      operands[2],
			      operands[3],
			      operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V2DFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand2),
	operand3,
	operand4),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5555 */
rtx
gen_avx512bw_fnmsub_v32hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmsub_v32hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V32HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5555 */
rtx
gen_avx512bw_fnmsub_v32hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmsub_v32hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V32HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5555 */
rtx
gen_avx512vl_fnmsub_v16hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmsub_v16hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5555 */
rtx
gen_avx512vl_fnmsub_v16hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmsub_v16hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5555 */
rtx
gen_avx512fp16_fnmsub_v8hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmsub_v8hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5555 */
rtx
gen_avx512fp16_fnmsub_v8hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmsub_v8hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5555 */
rtx
gen_avx512f_fnmsub_v16sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmsub_v16sf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5555 */
rtx
gen_avx512f_fnmsub_v16sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmsub_v16sf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16SFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5555 */
rtx
gen_avx512vl_fnmsub_v8sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmsub_v8sf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5555 */
rtx
gen_avx512vl_fnmsub_v8sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmsub_v8sf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8SFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5555 */
rtx
gen_avx512vl_fnmsub_v4sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmsub_v4sf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5555 */
rtx
gen_avx512vl_fnmsub_v4sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmsub_v4sf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4SFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5555 */
rtx
gen_avx512f_fnmsub_v8df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmsub_v8df_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5555 */
rtx
gen_avx512f_fnmsub_v8df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmsub_v8df_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8DFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5555 */
rtx
gen_avx512vl_fnmsub_v4df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmsub_v4df_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5555 */
rtx
gen_avx512vl_fnmsub_v4df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmsub_v4df_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4DFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5555 */
rtx
gen_avx512vl_fnmsub_v2df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmsub_v2df_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V2DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5555 */
rtx
gen_avx512vl_fnmsub_v2df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5562 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fnmsub_v2df_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V2DFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5585 */
rtx
gen_cond_fnmsv32hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fnmsv32hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5597 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V32HFmode);
  emit_insn (gen_fnmsv32hf4 (tmp,
			      operands[2],
			      operands[3],
			      operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V32HFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_FMA (V32HFmode,
	gen_rtx_NEG (V32HFmode,
	operand2),
	operand3,
	gen_rtx_NEG (V32HFmode,
	operand4)),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5585 */
rtx
gen_cond_fnmsv16hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fnmsv16hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5597 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16HFmode);
  emit_insn (gen_fnmsv16hf4 (tmp,
			      operands[2],
			      operands[3],
			      operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V16HFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_FMA (V16HFmode,
	gen_rtx_NEG (V16HFmode,
	operand2),
	operand3,
	gen_rtx_NEG (V16HFmode,
	operand4)),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5585 */
rtx
gen_cond_fnmsv8hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fnmsv8hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5597 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8HFmode);
  emit_insn (gen_fnmsv8hf4 (tmp,
			      operands[2],
			      operands[3],
			      operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V8HFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	gen_rtx_NEG (V8HFmode,
	operand2),
	operand3,
	gen_rtx_NEG (V8HFmode,
	operand4)),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5585 */
rtx
gen_cond_fnmsv16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fnmsv16sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5597 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16SFmode);
  emit_insn (gen_fnmsv16sf4 (tmp,
			      operands[2],
			      operands[3],
			      operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V16SFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_FMA (V16SFmode,
	gen_rtx_NEG (V16SFmode,
	operand2),
	operand3,
	gen_rtx_NEG (V16SFmode,
	operand4)),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5585 */
rtx
gen_cond_fnmsv8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fnmsv8sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5597 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8SFmode);
  emit_insn (gen_fnmsv8sf4 (tmp,
			      operands[2],
			      operands[3],
			      operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V8SFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_FMA (V8SFmode,
	gen_rtx_NEG (V8SFmode,
	operand2),
	operand3,
	gen_rtx_NEG (V8SFmode,
	operand4)),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5585 */
rtx
gen_cond_fnmsv4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fnmsv4sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5597 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SFmode);
  emit_insn (gen_fnmsv4sf4 (tmp,
			      operands[2],
			      operands[3],
			      operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V4SFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand2),
	operand3,
	gen_rtx_NEG (V4SFmode,
	operand4)),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5585 */
rtx
gen_cond_fnmsv8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fnmsv8df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5597 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8DFmode);
  emit_insn (gen_fnmsv8df4 (tmp,
			      operands[2],
			      operands[3],
			      operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V8DFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_FMA (V8DFmode,
	gen_rtx_NEG (V8DFmode,
	operand2),
	operand3,
	gen_rtx_NEG (V8DFmode,
	operand4)),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5585 */
rtx
gen_cond_fnmsv4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fnmsv4df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5597 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4DFmode);
  emit_insn (gen_fnmsv4df4 (tmp,
			      operands[2],
			      operands[3],
			      operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V4DFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_FMA (V4DFmode,
	gen_rtx_NEG (V4DFmode,
	operand2),
	operand3,
	gen_rtx_NEG (V4DFmode,
	operand4)),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5585 */
rtx
gen_cond_fnmsv2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"cond_fnmsv2df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5597 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V2DFmode);
  emit_insn (gen_fnmsv2df4 (tmp,
			      operands[2],
			      operands[3],
			      operands[4]));
  emit_move_insn (operands[0], gen_rtx_VEC_MERGE (V2DFmode,
						  tmp,
						  operands[5],
						  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand2),
	operand3,
	gen_rtx_NEG (V2DFmode,
	operand4)),
	operand5,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5655 */
rtx
gen_vec_fmaddsubv16sf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5655 */
rtx
gen_vec_fmaddsubv8sf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5655 */
rtx
gen_vec_fmaddsubv4sf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5655 */
rtx
gen_vec_fmaddsubv8df4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5655 */
rtx
gen_vec_fmaddsubv4df4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5655 */
rtx
gen_vec_fmaddsubv2df4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5664 */
rtx
gen_vec_fmsubaddv16sf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V16SFmode,
	operand3)),
	119));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5664 */
rtx
gen_vec_fmsubaddv8sf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V8SFmode,
	operand3)),
	119));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5664 */
rtx
gen_vec_fmsubaddv4sf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V4SFmode,
	operand3)),
	119));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5664 */
rtx
gen_vec_fmsubaddv8df4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V8DFmode,
	operand3)),
	119));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5664 */
rtx
gen_vec_fmsubaddv4df4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V4DFmode,
	operand3)),
	119));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5664 */
rtx
gen_vec_fmsubaddv2df4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_NEG (V2DFmode,
	operand3)),
	119));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5674 */
rtx
gen_fmaddsub_v16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5674 */
rtx
gen_fmaddsub_v8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5674 */
rtx
gen_fmaddsub_v4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5674 */
rtx
gen_fmaddsub_v8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5674 */
rtx
gen_fmaddsub_v4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5674 */
rtx
gen_fmaddsub_v2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	119));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5683 */
rtx
gen_avx512bw_fmaddsub_v32hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5690 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddsub_v32hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V32HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5683 */
rtx
gen_avx512bw_fmaddsub_v32hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5690 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddsub_v32hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V32HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5683 */
rtx
gen_avx512vl_fmaddsub_v16hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5690 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddsub_v16hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5683 */
rtx
gen_avx512vl_fmaddsub_v16hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5690 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddsub_v16hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5683 */
rtx
gen_avx512fp16_fmaddsub_v8hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5690 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddsub_v8hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5683 */
rtx
gen_avx512fp16_fmaddsub_v8hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5690 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddsub_v8hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5683 */
rtx
gen_avx512f_fmaddsub_v16sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5690 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddsub_v16sf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5683 */
rtx
gen_avx512f_fmaddsub_v16sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5690 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddsub_v16sf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16SFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5683 */
rtx
gen_avx512vl_fmaddsub_v8sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5690 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddsub_v8sf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5683 */
rtx
gen_avx512vl_fmaddsub_v8sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5690 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddsub_v8sf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8SFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5683 */
rtx
gen_avx512vl_fmaddsub_v4sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5690 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddsub_v4sf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5683 */
rtx
gen_avx512vl_fmaddsub_v4sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5690 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddsub_v4sf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4SFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5683 */
rtx
gen_avx512f_fmaddsub_v8df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5690 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddsub_v8df_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5683 */
rtx
gen_avx512f_fmaddsub_v8df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5690 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddsub_v8df_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8DFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5683 */
rtx
gen_avx512vl_fmaddsub_v4df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5690 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddsub_v4df_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5683 */
rtx
gen_avx512vl_fmaddsub_v4df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5690 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddsub_v4df_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4DFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5683 */
rtx
gen_avx512vl_fmaddsub_v2df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5690 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddsub_v2df_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V2DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5683 */
rtx
gen_avx512vl_fmaddsub_v2df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5690 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddsub_v2df_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V2DFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5697 */
rtx
gen_avx512bw_fmsubadd_v32hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5704 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsubadd_v32hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V32HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5697 */
rtx
gen_avx512bw_fmsubadd_v32hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5704 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsubadd_v32hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V32HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5697 */
rtx
gen_avx512vl_fmsubadd_v16hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5704 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsubadd_v16hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5697 */
rtx
gen_avx512vl_fmsubadd_v16hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5704 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsubadd_v16hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5697 */
rtx
gen_avx512fp16_fmsubadd_v8hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5704 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsubadd_v8hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5697 */
rtx
gen_avx512fp16_fmsubadd_v8hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5704 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsubadd_v8hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5697 */
rtx
gen_avx512f_fmsubadd_v16sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5704 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsubadd_v16sf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5697 */
rtx
gen_avx512f_fmsubadd_v16sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5704 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsubadd_v16sf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16SFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5697 */
rtx
gen_avx512vl_fmsubadd_v8sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5704 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsubadd_v8sf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5697 */
rtx
gen_avx512vl_fmsubadd_v8sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5704 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsubadd_v8sf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8SFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5697 */
rtx
gen_avx512vl_fmsubadd_v4sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5704 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsubadd_v4sf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5697 */
rtx
gen_avx512vl_fmsubadd_v4sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5704 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsubadd_v4sf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4SFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5697 */
rtx
gen_avx512f_fmsubadd_v8df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5704 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsubadd_v8df_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5697 */
rtx
gen_avx512f_fmsubadd_v8df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5704 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsubadd_v8df_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8DFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5697 */
rtx
gen_avx512vl_fmsubadd_v4df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5704 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsubadd_v4df_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5697 */
rtx
gen_avx512vl_fmsubadd_v4df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5704 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsubadd_v4df_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4DFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5697 */
rtx
gen_avx512vl_fmsubadd_v2df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5704 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsubadd_v2df_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V2DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5697 */
rtx
gen_avx512vl_fmsubadd_v2df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 5704 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmsubadd_v2df_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V2DFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5848 */
rtx
gen_fmai_vmfmadd_v8hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5848 */
rtx
gen_fmai_vmfmadd_v8hf_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5848 */
rtx
gen_fmai_vmfmadd_v4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5848 */
rtx
gen_fmai_vmfmadd_v4sf_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5848 */
rtx
gen_fmai_vmfmadd_v2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5848 */
rtx
gen_fmai_vmfmadd_v2df_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	operand3),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5859 */
rtx
gen_fmai_vmfmsub_v8hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8HFmode,
	operand3)),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5859 */
rtx
gen_fmai_vmfmsub_v8hf_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V8HFmode,
	operand3)),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5859 */
rtx
gen_fmai_vmfmsub_v4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V4SFmode,
	operand3)),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5859 */
rtx
gen_fmai_vmfmsub_v4sf_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V4SFmode,
	operand3)),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5859 */
rtx
gen_fmai_vmfmsub_v2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V2DFmode,
	operand3)),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5859 */
rtx
gen_fmai_vmfmsub_v2df_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	gen_rtx_NEG (V2DFmode,
	operand3)),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5871 */
rtx
gen_fmai_vmfnmadd_v8hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	gen_rtx_NEG (V8HFmode,
	operand2),
	operand1,
	operand3),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5871 */
rtx
gen_fmai_vmfnmadd_v8hf_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	gen_rtx_NEG (V8HFmode,
	operand2),
	operand1,
	operand3),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5871 */
rtx
gen_fmai_vmfnmadd_v4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand2),
	operand1,
	operand3),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5871 */
rtx
gen_fmai_vmfnmadd_v4sf_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand2),
	operand1,
	operand3),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5871 */
rtx
gen_fmai_vmfnmadd_v2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand2),
	operand1,
	operand3),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5871 */
rtx
gen_fmai_vmfnmadd_v2df_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand2),
	operand1,
	operand3),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5883 */
rtx
gen_fmai_vmfnmsub_v8hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	gen_rtx_NEG (V8HFmode,
	operand2),
	operand1,
	gen_rtx_NEG (V8HFmode,
	operand3)),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5883 */
rtx
gen_fmai_vmfnmsub_v8hf_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_FMA (V8HFmode,
	gen_rtx_NEG (V8HFmode,
	operand2),
	operand1,
	gen_rtx_NEG (V8HFmode,
	operand3)),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5883 */
rtx
gen_fmai_vmfnmsub_v4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand2),
	operand1,
	gen_rtx_NEG (V4SFmode,
	operand3)),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5883 */
rtx
gen_fmai_vmfnmsub_v4sf_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	gen_rtx_NEG (V4SFmode,
	operand2),
	operand1,
	gen_rtx_NEG (V4SFmode,
	operand3)),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5883 */
rtx
gen_fmai_vmfnmsub_v2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand2),
	operand1,
	gen_rtx_NEG (V2DFmode,
	operand3)),
	operand1,
	const1_rtx));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:5883 */
rtx
gen_fmai_vmfnmsub_v2df_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	gen_rtx_NEG (V2DFmode,
	operand2),
	operand1,
	gen_rtx_NEG (V2DFmode,
	operand3)),
	operand1,
	const1_rtx),
		operand4),
	162));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6000 */
rtx
gen_avx512f_vmfmadd_v8hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6007 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_vmfmadd_v8hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6000 */
rtx
gen_avx512f_vmfmadd_v8hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6007 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_vmfmadd_v8hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6000 */
rtx
gen_avx512f_vmfmadd_v4sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6007 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_vmfmadd_v4sf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6000 */
rtx
gen_avx512f_vmfmadd_v4sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6007 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_vmfmadd_v4sf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4SFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6000 */
rtx
gen_avx512f_vmfmadd_v2df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6007 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_vmfmadd_v2df_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V2DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6000 */
rtx
gen_avx512f_vmfmadd_v2df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6007 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_vmfmadd_v2df_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V2DFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6129 */
rtx
gen_avx512f_vmfnmadd_v8hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6136 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_vmfnmadd_v8hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6129 */
rtx
gen_avx512f_vmfnmadd_v8hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6136 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_vmfnmadd_v8hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6129 */
rtx
gen_avx512f_vmfnmadd_v4sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6136 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_vmfnmadd_v4sf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6129 */
rtx
gen_avx512f_vmfnmadd_v4sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6136 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_vmfnmadd_v4sf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4SFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6129 */
rtx
gen_avx512f_vmfnmadd_v2df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6136 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_vmfnmadd_v2df_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V2DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6129 */
rtx
gen_avx512f_vmfnmadd_v2df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6136 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_vmfnmadd_v2df_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V2DFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6227 */
rtx
gen_fma4i_vmfmadd_v4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6237 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = CONST0_RTX (V4SFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_FMA (V4SFmode,
	operand1,
	operand2,
	operand3),
	operand4,
	const1_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6227 */
rtx
gen_fma4i_vmfmadd_v2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6237 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = CONST0_RTX (V2DFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_FMA (V2DFmode,
	operand1,
	operand2,
	operand3),
	operand4,
	const1_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6343 */
rtx
gen_avx512bw_fmaddc_v32hf_mask1 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6350 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0, op1, dest;
  if (0)
    emit_insn (gen_avx512bw_fmaddc_v32hf_mask (
      operands[0], operands[1], operands[2], operands[3],
      operands[4]));
  else
    emit_insn (gen_avx512bw_fmaddc_v32hf_mask (operands[0],
      operands[1], operands[2], operands[3], operands[4]));

  op0 = lowpart_subreg (V16SFmode,
			force_reg (V32HFmode, operands[0]),
			V32HFmode);
  dest = gen_reg_rtx (V16SFmode);
  if (!MEM_P (operands[1]))
    operands[1] = force_reg (V32HFmode, operands[1]);
  op1 = lowpart_subreg (V16SFmode, operands[1], V32HFmode);
  emit_insn (gen_avx512f_loadv16sf_mask (dest, op0, op1, operands[4]));
  emit_move_insn (operands[0],
		  lowpart_subreg (V32HFmode, dest, V16SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6343 */
rtx
gen_avx512bw_fmaddc_v32hf_mask1_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6350 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0, op1, dest;
  if (!(CONST_INT_P (operands[5])
								  && (INTVAL (operands[5])
								      == NO_ROUND)))
    emit_insn (gen_avx512bw_fmaddc_v32hf_mask_round (
      operands[0], operands[1], operands[2], operands[3],
      operands[4], operands[5]));
  else
    emit_insn (gen_avx512bw_fmaddc_v32hf_mask (operands[0],
      operands[1], operands[2], operands[3], operands[4]));

  op0 = lowpart_subreg (V16SFmode,
			force_reg (V32HFmode, operands[0]),
			V32HFmode);
  dest = gen_reg_rtx (V16SFmode);
  if (!MEM_P (operands[1]))
    operands[1] = force_reg (V32HFmode, operands[1]);
  op1 = lowpart_subreg (V16SFmode, operands[1], V32HFmode);
  emit_insn (gen_avx512f_loadv16sf_mask (dest, op0, op1, operands[4]));
  emit_move_insn (operands[0],
		  lowpart_subreg (V32HFmode, dest, V16SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6343 */
rtx
gen_avx512vl_fmaddc_v16hf_mask1 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6350 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0, op1, dest;
  if (0)
    emit_insn (gen_avx512vl_fmaddc_v16hf_mask (
      operands[0], operands[1], operands[2], operands[3],
      operands[4]));
  else
    emit_insn (gen_avx512vl_fmaddc_v16hf_mask (operands[0],
      operands[1], operands[2], operands[3], operands[4]));

  op0 = lowpart_subreg (V8SFmode,
			force_reg (V16HFmode, operands[0]),
			V16HFmode);
  dest = gen_reg_rtx (V8SFmode);
  if (!MEM_P (operands[1]))
    operands[1] = force_reg (V16HFmode, operands[1]);
  op1 = lowpart_subreg (V8SFmode, operands[1], V16HFmode);
  emit_insn (gen_avx512vl_loadv8sf_mask (dest, op0, op1, operands[4]));
  emit_move_insn (operands[0],
		  lowpart_subreg (V16HFmode, dest, V8SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6343 */
rtx
gen_avx512vl_fmaddc_v16hf_mask1_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6350 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0, op1, dest;
  if (!(CONST_INT_P (operands[5])
								  && (INTVAL (operands[5])
								      == NO_ROUND)))
    emit_insn (gen_avx512vl_fmaddc_v16hf_mask_round (
      operands[0], operands[1], operands[2], operands[3],
      operands[4], operands[5]));
  else
    emit_insn (gen_avx512vl_fmaddc_v16hf_mask (operands[0],
      operands[1], operands[2], operands[3], operands[4]));

  op0 = lowpart_subreg (V8SFmode,
			force_reg (V16HFmode, operands[0]),
			V16HFmode);
  dest = gen_reg_rtx (V8SFmode);
  if (!MEM_P (operands[1]))
    operands[1] = force_reg (V16HFmode, operands[1]);
  op1 = lowpart_subreg (V8SFmode, operands[1], V16HFmode);
  emit_insn (gen_avx512vl_loadv8sf_mask (dest, op0, op1, operands[4]));
  emit_move_insn (operands[0],
		  lowpart_subreg (V16HFmode, dest, V8SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6343 */
rtx
gen_avx512fp16_fmaddc_v8hf_mask1 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6350 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0, op1, dest;
  if (0)
    emit_insn (gen_avx512fp16_fmaddc_v8hf_mask (
      operands[0], operands[1], operands[2], operands[3],
      operands[4]));
  else
    emit_insn (gen_avx512fp16_fmaddc_v8hf_mask (operands[0],
      operands[1], operands[2], operands[3], operands[4]));

  op0 = lowpart_subreg (V4SFmode,
			force_reg (V8HFmode, operands[0]),
			V8HFmode);
  dest = gen_reg_rtx (V4SFmode);
  if (!MEM_P (operands[1]))
    operands[1] = force_reg (V8HFmode, operands[1]);
  op1 = lowpart_subreg (V4SFmode, operands[1], V8HFmode);
  emit_insn (gen_avx512vl_loadv4sf_mask (dest, op0, op1, operands[4]));
  emit_move_insn (operands[0],
		  lowpart_subreg (V8HFmode, dest, V4SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6343 */
rtx
gen_avx512fp16_fmaddc_v8hf_mask1_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6350 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0, op1, dest;
  if (!(CONST_INT_P (operands[5])
								  && (INTVAL (operands[5])
								      == NO_ROUND)))
    emit_insn (gen_avx512fp16_fmaddc_v8hf_mask_round (
      operands[0], operands[1], operands[2], operands[3],
      operands[4], operands[5]));
  else
    emit_insn (gen_avx512fp16_fmaddc_v8hf_mask (operands[0],
      operands[1], operands[2], operands[3], operands[4]));

  op0 = lowpart_subreg (V4SFmode,
			force_reg (V8HFmode, operands[0]),
			V8HFmode);
  dest = gen_reg_rtx (V4SFmode);
  if (!MEM_P (operands[1]))
    operands[1] = force_reg (V8HFmode, operands[1]);
  op1 = lowpart_subreg (V4SFmode, operands[1], V8HFmode);
  emit_insn (gen_avx512vl_loadv4sf_mask (dest, op0, op1, operands[4]));
  emit_move_insn (operands[0],
		  lowpart_subreg (V8HFmode, dest, V4SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6373 */
rtx
gen_avx512bw_fmaddc_v32hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6380 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddc_v32hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V32HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6373 */
rtx
gen_avx512bw_fmaddc_v32hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6380 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddc_v32hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V32HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6373 */
rtx
gen_avx512vl_fmaddc_v16hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6380 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddc_v16hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6373 */
rtx
gen_avx512vl_fmaddc_v16hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6380 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddc_v16hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6373 */
rtx
gen_avx512fp16_fmaddc_v8hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6380 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddc_v8hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6373 */
rtx
gen_avx512fp16_fmaddc_v8hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6380 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fmaddc_v8hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6387 */
rtx
gen_avx512bw_fcmaddc_v32hf_mask1 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6394 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0, op1, dest;
  if (0)
    emit_insn (gen_avx512bw_fcmaddc_v32hf_mask (
      operands[0], operands[1], operands[2], operands[3],
      operands[4]));
  else
  {
    emit_insn (gen_avx512bw_fcmaddc_v32hf_mask (operands[0],
      operands[1], operands[2], operands[3], operands[4]));
  }

  op0 = lowpart_subreg (V16SFmode,
			force_reg (V32HFmode, operands[0]),
			V32HFmode);
  dest = gen_reg_rtx (V16SFmode);
  if (!MEM_P (operands[1]))
    operands[1] = force_reg (V32HFmode, operands[1]);
  op1 = lowpart_subreg (V16SFmode, operands[1], V32HFmode);
  emit_insn (gen_avx512f_loadv16sf_mask (dest, op0, op1, operands[4]));
  emit_move_insn (operands[0],
		  lowpart_subreg (V32HFmode, dest, V16SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6387 */
rtx
gen_avx512bw_fcmaddc_v32hf_mask1_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6394 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0, op1, dest;
  if (!(CONST_INT_P (operands[5])
								  && (INTVAL (operands[5])
								      == NO_ROUND)))
    emit_insn (gen_avx512bw_fcmaddc_v32hf_mask_round (
      operands[0], operands[1], operands[2], operands[3],
      operands[4], operands[5]));
  else
  {
    emit_insn (gen_avx512bw_fcmaddc_v32hf_mask (operands[0],
      operands[1], operands[2], operands[3], operands[4]));
  }

  op0 = lowpart_subreg (V16SFmode,
			force_reg (V32HFmode, operands[0]),
			V32HFmode);
  dest = gen_reg_rtx (V16SFmode);
  if (!MEM_P (operands[1]))
    operands[1] = force_reg (V32HFmode, operands[1]);
  op1 = lowpart_subreg (V16SFmode, operands[1], V32HFmode);
  emit_insn (gen_avx512f_loadv16sf_mask (dest, op0, op1, operands[4]));
  emit_move_insn (operands[0],
		  lowpart_subreg (V32HFmode, dest, V16SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6387 */
rtx
gen_avx512vl_fcmaddc_v16hf_mask1 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6394 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0, op1, dest;
  if (0)
    emit_insn (gen_avx512vl_fcmaddc_v16hf_mask (
      operands[0], operands[1], operands[2], operands[3],
      operands[4]));
  else
  {
    emit_insn (gen_avx512vl_fcmaddc_v16hf_mask (operands[0],
      operands[1], operands[2], operands[3], operands[4]));
  }

  op0 = lowpart_subreg (V8SFmode,
			force_reg (V16HFmode, operands[0]),
			V16HFmode);
  dest = gen_reg_rtx (V8SFmode);
  if (!MEM_P (operands[1]))
    operands[1] = force_reg (V16HFmode, operands[1]);
  op1 = lowpart_subreg (V8SFmode, operands[1], V16HFmode);
  emit_insn (gen_avx512vl_loadv8sf_mask (dest, op0, op1, operands[4]));
  emit_move_insn (operands[0],
		  lowpart_subreg (V16HFmode, dest, V8SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6387 */
rtx
gen_avx512vl_fcmaddc_v16hf_mask1_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6394 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0, op1, dest;
  if (!(CONST_INT_P (operands[5])
								  && (INTVAL (operands[5])
								      == NO_ROUND)))
    emit_insn (gen_avx512vl_fcmaddc_v16hf_mask_round (
      operands[0], operands[1], operands[2], operands[3],
      operands[4], operands[5]));
  else
  {
    emit_insn (gen_avx512vl_fcmaddc_v16hf_mask (operands[0],
      operands[1], operands[2], operands[3], operands[4]));
  }

  op0 = lowpart_subreg (V8SFmode,
			force_reg (V16HFmode, operands[0]),
			V16HFmode);
  dest = gen_reg_rtx (V8SFmode);
  if (!MEM_P (operands[1]))
    operands[1] = force_reg (V16HFmode, operands[1]);
  op1 = lowpart_subreg (V8SFmode, operands[1], V16HFmode);
  emit_insn (gen_avx512vl_loadv8sf_mask (dest, op0, op1, operands[4]));
  emit_move_insn (operands[0],
		  lowpart_subreg (V16HFmode, dest, V8SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6387 */
rtx
gen_avx512fp16_fcmaddc_v8hf_mask1 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6394 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0, op1, dest;
  if (0)
    emit_insn (gen_avx512fp16_fcmaddc_v8hf_mask (
      operands[0], operands[1], operands[2], operands[3],
      operands[4]));
  else
  {
    emit_insn (gen_avx512fp16_fcmaddc_v8hf_mask (operands[0],
      operands[1], operands[2], operands[3], operands[4]));
  }

  op0 = lowpart_subreg (V4SFmode,
			force_reg (V8HFmode, operands[0]),
			V8HFmode);
  dest = gen_reg_rtx (V4SFmode);
  if (!MEM_P (operands[1]))
    operands[1] = force_reg (V8HFmode, operands[1]);
  op1 = lowpart_subreg (V4SFmode, operands[1], V8HFmode);
  emit_insn (gen_avx512vl_loadv4sf_mask (dest, op0, op1, operands[4]));
  emit_move_insn (operands[0],
		  lowpart_subreg (V8HFmode, dest, V4SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6387 */
rtx
gen_avx512fp16_fcmaddc_v8hf_mask1_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6394 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0, op1, dest;
  if (!(CONST_INT_P (operands[5])
								  && (INTVAL (operands[5])
								      == NO_ROUND)))
    emit_insn (gen_avx512fp16_fcmaddc_v8hf_mask_round (
      operands[0], operands[1], operands[2], operands[3],
      operands[4], operands[5]));
  else
  {
    emit_insn (gen_avx512fp16_fcmaddc_v8hf_mask (operands[0],
      operands[1], operands[2], operands[3], operands[4]));
  }

  op0 = lowpart_subreg (V4SFmode,
			force_reg (V8HFmode, operands[0]),
			V8HFmode);
  dest = gen_reg_rtx (V4SFmode);
  if (!MEM_P (operands[1]))
    operands[1] = force_reg (V8HFmode, operands[1]);
  op1 = lowpart_subreg (V4SFmode, operands[1], V8HFmode);
  emit_insn (gen_avx512vl_loadv4sf_mask (dest, op0, op1, operands[4]));
  emit_move_insn (operands[0],
		  lowpart_subreg (V8HFmode, dest, V4SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6419 */
rtx
gen_avx512bw_fcmaddc_v32hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6426 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fcmaddc_v32hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V32HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6419 */
rtx
gen_avx512bw_fcmaddc_v32hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6426 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fcmaddc_v32hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V32HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6419 */
rtx
gen_avx512vl_fcmaddc_v16hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6426 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fcmaddc_v16hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6419 */
rtx
gen_avx512vl_fcmaddc_v16hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6426 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fcmaddc_v16hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V16HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6419 */
rtx
gen_avx512fp16_fcmaddc_v8hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6426 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fcmaddc_v8hf_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6419 */
rtx
gen_avx512fp16_fcmaddc_v8hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6426 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_fma_fcmaddc_v8hf_maskz_1_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6433 */
rtx
gen_cmlav32hf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6433 */
rtx
gen_cmla_conjv32hf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6433 */
rtx
gen_cmlav16hf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6433 */
rtx
gen_cmla_conjv16hf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6433 */
rtx
gen_cmlav8hf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6433 */
rtx
gen_cmla_conjv8hf4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6454 */
extern rtx_insn *gen_split_1039 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1039 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1039 (sse.md:6454)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6454 */
extern rtx_insn *gen_split_1040 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1040 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1040 (sse.md:6454)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6454 */
extern rtx_insn *gen_split_1041 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1041 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1041 (sse.md:6454)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	212)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6471 */
extern rtx_insn *gen_split_1042 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1042 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1042 (sse.md:6471)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6471 */
extern rtx_insn *gen_split_1043 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1043 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1043 (sse.md:6471)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6471 */
extern rtx_insn *gen_split_1044 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1044 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1044 (sse.md:6471)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	214)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6488 */
extern rtx_insn *gen_split_1045 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1045 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1045 (sse.md:6488)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	212)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6488 */
extern rtx_insn *gen_split_1046 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1046 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1046 (sse.md:6488)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	214)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6488 */
extern rtx_insn *gen_split_1047 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1047 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1047 (sse.md:6488)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	212)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6488 */
extern rtx_insn *gen_split_1048 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1048 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1048 (sse.md:6488)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	214)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6488 */
extern rtx_insn *gen_split_1049 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1049 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1049 (sse.md:6488)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	212)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6488 */
extern rtx_insn *gen_split_1050 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1050 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1050 (sse.md:6488)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand4),
	214)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6517 */
extern rtx_insn *gen_split_1051 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1051 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1051 (sse.md:6517)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6529 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    if (!MEM_P (operands[1]))
      operands[1] = force_reg (V32HFmode, operands[1]);
    if (!MEM_P (operands[3]))
      operands[3] = force_reg (V32HFmode, operands[3]);
    operands[1] = lowpart_subreg (V16SFmode, operands[1], V32HFmode);
    operands[3] = lowpart_subreg (V16SFmode, operands[3], V32HFmode);
    rtx dest = gen_reg_rtx (V16SFmode);
    emit_insn (gen_fma_fmaddc_v16sf_pair (dest, operands[1],
						     operands[2], operands[3]));
    emit_move_insn (operands[0],
		    lowpart_subreg (V32HFmode, dest, V16SFmode));
    DONE;
  }
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6517 */
extern rtx_insn *gen_split_1052 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1052 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1052 (sse.md:6517)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6529 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    if (!MEM_P (operands[1]))
      operands[1] = force_reg (V16HFmode, operands[1]);
    if (!MEM_P (operands[3]))
      operands[3] = force_reg (V16HFmode, operands[3]);
    operands[1] = lowpart_subreg (V8SFmode, operands[1], V16HFmode);
    operands[3] = lowpart_subreg (V8SFmode, operands[3], V16HFmode);
    rtx dest = gen_reg_rtx (V8SFmode);
    emit_insn (gen_fma_fmaddc_v8sf_pair (dest, operands[1],
						     operands[2], operands[3]));
    emit_move_insn (operands[0],
		    lowpart_subreg (V16HFmode, dest, V8SFmode));
    DONE;
  }
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6517 */
extern rtx_insn *gen_split_1053 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1053 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1053 (sse.md:6517)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6529 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    if (!MEM_P (operands[1]))
      operands[1] = force_reg (V8HFmode, operands[1]);
    if (!MEM_P (operands[3]))
      operands[3] = force_reg (V8HFmode, operands[3]);
    operands[1] = lowpart_subreg (V4SFmode, operands[1], V8HFmode);
    operands[3] = lowpart_subreg (V4SFmode, operands[3], V8HFmode);
    rtx dest = gen_reg_rtx (V4SFmode);
    emit_insn (gen_fma_fmaddc_v4sf_pair (dest, operands[1],
						     operands[2], operands[3]));
    emit_move_insn (operands[0],
		    lowpart_subreg (V8HFmode, dest, V4SFmode));
    DONE;
  }
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6544 */
extern rtx_insn *gen_split_1054 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1054 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1054 (sse.md:6544)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6556 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    if (!MEM_P (operands[1]))
      operands[1] = force_reg (V32HFmode, operands[1]);
    if (!MEM_P (operands[3]))
      operands[3] = force_reg (V32HFmode, operands[3]);
    operands[1] = lowpart_subreg (V16SFmode, operands[1], V32HFmode);
    operands[3] = lowpart_subreg (V16SFmode, operands[3], V32HFmode);
    rtx dest = gen_reg_rtx (V16SFmode);
    emit_insn (gen_fma_fcmaddc_v16sf_pair (dest, operands[1],
						      operands[2],
						      operands[3]));
    emit_move_insn (operands[0],
		    lowpart_subreg (V32HFmode, dest, V16SFmode));
    DONE;
  }
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6544 */
extern rtx_insn *gen_split_1055 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1055 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1055 (sse.md:6544)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6556 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    if (!MEM_P (operands[1]))
      operands[1] = force_reg (V16HFmode, operands[1]);
    if (!MEM_P (operands[3]))
      operands[3] = force_reg (V16HFmode, operands[3]);
    operands[1] = lowpart_subreg (V8SFmode, operands[1], V16HFmode);
    operands[3] = lowpart_subreg (V8SFmode, operands[3], V16HFmode);
    rtx dest = gen_reg_rtx (V8SFmode);
    emit_insn (gen_fma_fcmaddc_v8sf_pair (dest, operands[1],
						      operands[2],
						      operands[3]));
    emit_move_insn (operands[0],
		    lowpart_subreg (V16HFmode, dest, V8SFmode));
    DONE;
  }
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6544 */
extern rtx_insn *gen_split_1056 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1056 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1056 (sse.md:6544)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6556 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    if (!MEM_P (operands[1]))
      operands[1] = force_reg (V8HFmode, operands[1]);
    if (!MEM_P (operands[3]))
      operands[3] = force_reg (V8HFmode, operands[3]);
    operands[1] = lowpart_subreg (V4SFmode, operands[1], V8HFmode);
    operands[3] = lowpart_subreg (V4SFmode, operands[3], V8HFmode);
    rtx dest = gen_reg_rtx (V4SFmode);
    emit_insn (gen_fma_fcmaddc_v4sf_pair (dest, operands[1],
						      operands[2],
						      operands[3]));
    emit_move_insn (operands[0],
		    lowpart_subreg (V8HFmode, dest, V4SFmode));
    DONE;
  }
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6589 */
rtx
gen_cmulv32hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	216));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6589 */
rtx
gen_cmul_conjv32hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	217));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6589 */
rtx
gen_cmulv16hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	216));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6589 */
rtx
gen_cmul_conjv16hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	217));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6589 */
rtx
gen_cmulv8hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	216));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6589 */
rtx
gen_cmul_conjv8hf3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	217));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6613 */
rtx
gen_avx512fp16_fmaddcsh_v8hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6620 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512fp16_fma_fmaddcsh_v8hf_maskz (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6613 */
rtx
gen_avx512fp16_fmaddcsh_v8hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6620 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512fp16_fma_fmaddcsh_v8hf_maskz_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6627 */
rtx
gen_avx512fp16_fmaddcsh_v8hf_mask1 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6634 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0, op1, dest;

  if (0)
    emit_insn (gen_avx512fp16_fmaddcsh_v8hf_mask (
      operands[0], operands[1], operands[2], operands[3],
      operands[4]));
  else
    emit_insn (gen_avx512fp16_fmaddcsh_v8hf_mask (operands[0],
      operands[1], operands[2], operands[3], operands[4]));

  op0 = lowpart_subreg (V4SFmode, force_reg (V8HFmode, operands[0]),
			V8HFmode);
  if (!MEM_P (operands[1]))
    operands[1] = force_reg (V8HFmode, operands[1]);
  op1 = lowpart_subreg (V4SFmode, operands[1], V8HFmode);
  dest = gen_reg_rtx (V4SFmode);
  emit_insn (gen_avx512f_movsf_mask (dest, op1, op0, op1, operands[4]));
  emit_move_insn (operands[0], lowpart_subreg (V8HFmode, dest,
					       V4SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6627 */
rtx
gen_avx512fp16_fmaddcsh_v8hf_mask1_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6634 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0, op1, dest;

  if (!(CONST_INT_P (operands[5])
								  && (INTVAL (operands[5])
								      == NO_ROUND)))
    emit_insn (gen_avx512fp16_fmaddcsh_v8hf_mask_round (
      operands[0], operands[1], operands[2], operands[3],
      operands[4], operands[5]));
  else
    emit_insn (gen_avx512fp16_fmaddcsh_v8hf_mask (operands[0],
      operands[1], operands[2], operands[3], operands[4]));

  op0 = lowpart_subreg (V4SFmode, force_reg (V8HFmode, operands[0]),
			V8HFmode);
  if (!MEM_P (operands[1]))
    operands[1] = force_reg (V8HFmode, operands[1]);
  op1 = lowpart_subreg (V4SFmode, operands[1], V8HFmode);
  dest = gen_reg_rtx (V4SFmode);
  emit_insn (gen_avx512f_movsf_mask (dest, op1, op0, op1, operands[4]));
  emit_move_insn (operands[0], lowpart_subreg (V8HFmode, dest,
					       V4SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6657 */
rtx
gen_avx512fp16_fcmaddcsh_v8hf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6664 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512fp16_fma_fcmaddcsh_v8hf_maskz (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6657 */
rtx
gen_avx512fp16_fcmaddcsh_v8hf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6664 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512fp16_fma_fcmaddcsh_v8hf_maskz_round (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8HFmode), operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6671 */
rtx
gen_avx512fp16_fcmaddcsh_v8hf_mask1 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6678 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0, op1, dest;

  if (0)
    emit_insn (gen_avx512fp16_fcmaddcsh_v8hf_mask (
      operands[0], operands[1], operands[2], operands[3],
      operands[4]));
  else
    emit_insn (gen_avx512fp16_fcmaddcsh_v8hf_mask (operands[0],
      operands[1], operands[2], operands[3], operands[4]));

  op0 = lowpart_subreg (V4SFmode, force_reg (V8HFmode, operands[0]),
			V8HFmode);
  if (!MEM_P (operands[1]))
    operands[1] = force_reg (V8HFmode, operands[1]);
  op1 = lowpart_subreg (V4SFmode, operands[1], V8HFmode);
  dest = gen_reg_rtx (V4SFmode);
  emit_insn (gen_avx512f_movsf_mask (dest, op1, op0, op1, operands[4]));
  emit_move_insn (operands[0], lowpart_subreg (V8HFmode, dest,
					       V4SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6671 */
rtx
gen_avx512fp16_fcmaddcsh_v8hf_mask1_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6678 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0, op1, dest;

  if (!(CONST_INT_P (operands[5])
								  && (INTVAL (operands[5])
								      == NO_ROUND)))
    emit_insn (gen_avx512fp16_fcmaddcsh_v8hf_mask_round (
      operands[0], operands[1], operands[2], operands[3],
      operands[4], operands[5]));
  else
    emit_insn (gen_avx512fp16_fcmaddcsh_v8hf_mask (operands[0],
      operands[1], operands[2], operands[3], operands[4]));

  op0 = lowpart_subreg (V4SFmode, force_reg (V8HFmode, operands[0]),
			V8HFmode);
  if (!MEM_P (operands[1]))
    operands[1] = force_reg (V8HFmode, operands[1]);
  op1 = lowpart_subreg (V4SFmode, operands[1], V8HFmode);
  dest = gen_reg_rtx (V4SFmode);
  emit_insn (gen_avx512f_movsf_mask (dest, op1, op0, op1, operands[4]));
  emit_move_insn (operands[0], lowpart_subreg (V8HFmode, dest,
					       V4SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6701 */
rtx
gen_avx512fp16_fcmaddcsh_v8hf_mask3 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6708 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx dest, op0, op1;

  if (0)
    emit_insn (gen_avx512fp16_fcmaddcsh_v8hf_mask (
      operands[0], operands[1], operands[2], operands[3],
      operands[4]));
  else
    emit_insn (gen_avx512fp16_fcmaddcsh_v8hf_mask (operands[0],
      operands[1], operands[2], operands[3], operands[4]));

  dest = gen_reg_rtx (V4SFmode);
  op0 = lowpart_subreg (V4SFmode,
			force_reg (V8HFmode, operands[0]),
			V8HFmode);
  if (!MEM_P (operands[3]))
    operands[3] = force_reg (V8HFmode, operands[3]);
  op1 = lowpart_subreg (V4SFmode, operands[3], V8HFmode);
  emit_insn (gen_sse_movss (dest, op1, op0));
  emit_move_insn (operands[0], lowpart_subreg (V8HFmode, dest, V4SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6701 */
rtx
gen_avx512fp16_fcmaddcsh_v8hf_mask3_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6708 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx dest, op0, op1;

  if (!(CONST_INT_P (operands[5])
								  && (INTVAL (operands[5])
								      == NO_ROUND)))
    emit_insn (gen_avx512fp16_fcmaddcsh_v8hf_mask_round (
      operands[0], operands[1], operands[2], operands[3],
      operands[4], operands[5]));
  else
    emit_insn (gen_avx512fp16_fcmaddcsh_v8hf_mask (operands[0],
      operands[1], operands[2], operands[3], operands[4]));

  dest = gen_reg_rtx (V4SFmode);
  op0 = lowpart_subreg (V4SFmode,
			force_reg (V8HFmode, operands[0]),
			V8HFmode);
  if (!MEM_P (operands[3]))
    operands[3] = force_reg (V8HFmode, operands[3]);
  op1 = lowpart_subreg (V4SFmode, operands[3], V8HFmode);
  emit_insn (gen_sse_movss (dest, op1, op0));
  emit_move_insn (operands[0], lowpart_subreg (V8HFmode, dest, V4SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6731 */
rtx
gen_avx512fp16_fmaddcsh_v8hf_mask3 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6738 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx dest, op0, op1;

  if (0)
    emit_insn (gen_avx512fp16_fmaddcsh_v8hf_mask (
      operands[0], operands[1], operands[2], operands[3],
      operands[4]));
  else
    emit_insn (gen_avx512fp16_fmaddcsh_v8hf_mask (operands[0],
      operands[1], operands[2], operands[3], operands[4]));

  dest = gen_reg_rtx (V4SFmode);
  op0 = lowpart_subreg (V4SFmode,
			force_reg (V8HFmode, operands[0]),
			V8HFmode);
  if (!MEM_P (operands[3]))
    operands[3] = force_reg (V8HFmode, operands[3]);
  op1 = lowpart_subreg (V4SFmode, operands[3], V8HFmode);
  emit_insn (gen_sse_movss (dest, op1, op0));
  emit_move_insn (operands[0], lowpart_subreg (V8HFmode, dest, V4SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6731 */
rtx
gen_avx512fp16_fmaddcsh_v8hf_mask3_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6738 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx dest, op0, op1;

  if (!(CONST_INT_P (operands[5])
								  && (INTVAL (operands[5])
								      == NO_ROUND)))
    emit_insn (gen_avx512fp16_fmaddcsh_v8hf_mask_round (
      operands[0], operands[1], operands[2], operands[3],
      operands[4], operands[5]));
  else
    emit_insn (gen_avx512fp16_fmaddcsh_v8hf_mask (operands[0],
      operands[1], operands[2], operands[3], operands[4]));

  dest = gen_reg_rtx (V4SFmode);
  op0 = lowpart_subreg (V4SFmode,
			force_reg (V8HFmode, operands[0]),
			V8HFmode);
  if (!MEM_P (operands[3]))
    operands[3] = force_reg (V8HFmode, operands[3]);
  op1 = lowpart_subreg (V4SFmode, operands[3], V8HFmode);
  emit_insn (gen_sse_movss (dest, op1, op0));
  emit_move_insn (operands[0], lowpart_subreg (V8HFmode, dest, V4SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand5),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6845 */
rtx
gen_floatv8hiv8hf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V8HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6845 */
rtx
gen_floatunsv8hiv8hf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V8HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6845 */
rtx
gen_floatv16hiv16hf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V16HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6845 */
rtx
gen_floatunsv16hiv16hf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V16HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6845 */
rtx
gen_floatv32hiv32hf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V32HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6845 */
rtx
gen_floatunsv32hiv32hf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V32HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6845 */
rtx
gen_floatv8siv8hf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V8HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6845 */
rtx
gen_floatunsv8siv8hf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V8HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6845 */
rtx
gen_floatv16siv16hf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V16HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6845 */
rtx
gen_floatunsv16siv16hf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V16HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6845 */
rtx
gen_floatv8div8hf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V8HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6845 */
rtx
gen_floatunsv8div8hf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V8HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6861 */
rtx
gen_floatv4siv4hf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6866 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx dest = gen_reg_rtx (V8HFmode);
  emit_insn (gen_avx512fp16_floatv4siv4hf2 (dest,
							      operands[1]));
  emit_move_insn (operands[0], lowpart_subreg (V4HFmode, dest, V8HFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V4HFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6861 */
rtx
gen_floatunsv4siv4hf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6866 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx dest = gen_reg_rtx (V8HFmode);
  emit_insn (gen_avx512fp16_floatunsv4siv4hf2 (dest,
							      operands[1]));
  emit_move_insn (operands[0], lowpart_subreg (V4HFmode, dest, V8HFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V4HFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6861 */
rtx
gen_floatv4div4hf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6866 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx dest = gen_reg_rtx (V8HFmode);
  emit_insn (gen_avx512fp16_floatv4div4hf2 (dest,
							      operands[1]));
  emit_move_insn (operands[0], lowpart_subreg (V4HFmode, dest, V8HFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V4HFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6861 */
rtx
gen_floatunsv4div4hf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6866 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx dest = gen_reg_rtx (V8HFmode);
  emit_insn (gen_avx512fp16_floatunsv4div4hf2 (dest,
							      operands[1]));
  emit_move_insn (operands[0], lowpart_subreg (V4HFmode, dest, V8HFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V4HFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6874 */
rtx
gen_avx512fp16_floatv4siv4hf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6880 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V4HFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HFmode,
	gen_rtx_FLOAT (V4HFmode,
	operand1),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6874 */
rtx
gen_avx512fp16_floatunsv4siv4hf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6880 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V4HFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HFmode,
	gen_rtx_UNSIGNED_FLOAT (V4HFmode,
	operand1),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6874 */
rtx
gen_avx512fp16_floatv4div4hf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6880 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V4HFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HFmode,
	gen_rtx_FLOAT (V4HFmode,
	operand1),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6874 */
rtx
gen_avx512fp16_floatunsv4div4hf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6880 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V4HFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HFmode,
	gen_rtx_UNSIGNED_FLOAT (V4HFmode,
	operand1),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6893 */
rtx
gen_avx512fp16_vcvtdq2ph_v4si_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6904 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = CONST0_RTX (V4HFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HFmode,
	gen_rtx_VEC_MERGE (V4HFmode,
	gen_rtx_FLOAT (V4HFmode,
	operand1),
	gen_rtx_VEC_SELECT (V4HFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand3),
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6893 */
rtx
gen_avx512fp16_vcvtudq2ph_v4si_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6904 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = CONST0_RTX (V4HFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HFmode,
	gen_rtx_VEC_MERGE (V4HFmode,
	gen_rtx_UNSIGNED_FLOAT (V4HFmode,
	operand1),
	gen_rtx_VEC_SELECT (V4HFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand3),
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6893 */
rtx
gen_avx512fp16_vcvtqq2ph_v4di_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6904 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = CONST0_RTX (V4HFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HFmode,
	gen_rtx_VEC_MERGE (V4HFmode,
	gen_rtx_FLOAT (V4HFmode,
	operand1),
	gen_rtx_VEC_SELECT (V4HFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand3),
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6893 */
rtx
gen_avx512fp16_vcvtuqq2ph_v4di_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6904 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = CONST0_RTX (V4HFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HFmode,
	gen_rtx_VEC_MERGE (V4HFmode,
	gen_rtx_UNSIGNED_FLOAT (V4HFmode,
	operand1),
	gen_rtx_VEC_SELECT (V4HFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand3),
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6937 */
rtx
gen_floatv2div2hf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6942 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx dest = gen_reg_rtx (V8HFmode);
  emit_insn (gen_avx512fp16_floatv2div2hf2 (dest,
							    operands[1]));
  emit_move_insn (operands[0], lowpart_subreg (V2HFmode, dest, V8HFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V2HFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6937 */
rtx
gen_floatunsv2div2hf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6942 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx dest = gen_reg_rtx (V8HFmode);
  emit_insn (gen_avx512fp16_floatunsv2div2hf2 (dest,
							    operands[1]));
  emit_move_insn (operands[0], lowpart_subreg (V2HFmode, dest, V8HFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V2HFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6950 */
rtx
gen_avx512fp16_floatv2div2hf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6956 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V6HFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HFmode,
	gen_rtx_FLOAT (V2HFmode,
	operand1),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6950 */
rtx
gen_avx512fp16_floatunsv2div2hf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6956 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V6HFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HFmode,
	gen_rtx_UNSIGNED_FLOAT (V2HFmode,
	operand1),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6969 */
rtx
gen_avx512fp16_vcvtqq2ph_v2di_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6980 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = CONST0_RTX (V6HFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HFmode,
	gen_rtx_VEC_MERGE (V2HFmode,
	gen_rtx_FLOAT (V2HFmode,
	operand1),
	gen_rtx_VEC_SELECT (V2HFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand3),
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:6969 */
rtx
gen_avx512fp16_vcvtuqq2ph_v2di_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 6980 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = CONST0_RTX (V6HFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HFmode,
	gen_rtx_VEC_MERGE (V2HFmode,
	gen_rtx_UNSIGNED_FLOAT (V2HFmode,
	operand1),
	gen_rtx_VEC_SELECT (V2HFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand3),
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7053 */
rtx
gen_fix_truncv8hfv8hi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V8HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7053 */
rtx
gen_fixuns_truncv8hfv8hi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V8HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7053 */
rtx
gen_fix_truncv16hfv16hi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V16HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7053 */
rtx
gen_fixuns_truncv16hfv16hi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V16HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7053 */
rtx
gen_fix_truncv32hfv32hi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V32HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7053 */
rtx
gen_fixuns_truncv32hfv32hi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V32HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7053 */
rtx
gen_fix_truncv8hfv8si2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V8SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7053 */
rtx
gen_fixuns_truncv8hfv8si2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V8SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7053 */
rtx
gen_fix_truncv16hfv16si2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V16SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7053 */
rtx
gen_fixuns_truncv16hfv16si2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V16SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7053 */
rtx
gen_fix_truncv8hfv8di2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V8DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7053 */
rtx
gen_fixuns_truncv8hfv8di2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V8DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7069 */
rtx
gen_fix_truncv4hfv4si2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7074 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      operands[1] = lowpart_subreg (V8HFmode,
				    force_reg (V4HFmode, operands[1]),
				    V4HFmode);
      emit_insn (gen_avx512fp16_fix_truncv4si2 (operands[0],
								operands[1]));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FIX (V4SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7069 */
rtx
gen_fixuns_truncv4hfv4si2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7074 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      operands[1] = lowpart_subreg (V8HFmode,
				    force_reg (V4HFmode, operands[1]),
				    V4HFmode);
      emit_insn (gen_avx512fp16_fixuns_truncv4si2 (operands[0],
								operands[1]));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V4SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7069 */
rtx
gen_fix_truncv4hfv4di2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7074 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      operands[1] = lowpart_subreg (V8HFmode,
				    force_reg (V4HFmode, operands[1]),
				    V4HFmode);
      emit_insn (gen_avx512fp16_fix_truncv4di2 (operands[0],
								operands[1]));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FIX (V4DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7069 */
rtx
gen_fixuns_truncv4hfv4di2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7074 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      operands[1] = lowpart_subreg (V8HFmode,
				    force_reg (V4HFmode, operands[1]),
				    V4HFmode);
      emit_insn (gen_avx512fp16_fixuns_truncv4di2 (operands[0],
								operands[1]));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V4DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7108 */
rtx
gen_fix_truncv2hfv2di2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7113 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      operands[1] = lowpart_subreg (V8HFmode,
				    force_reg (V2HFmode, operands[1]),
				    V2HFmode);
      emit_insn (gen_avx512fp16_fix_truncv2di2 (operands[0],
							      operands[1]));
      DONE;
  }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FIX (V2DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7108 */
rtx
gen_fixuns_truncv2hfv2di2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7113 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      operands[1] = lowpart_subreg (V8HFmode,
				    force_reg (V2HFmode, operands[1]),
				    V2HFmode);
      emit_insn (gen_avx512fp16_fixuns_truncv2di2 (operands[0],
							      operands[1]));
      DONE;
  }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V2DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7173 */
rtx
gen_extendv8hfv8df2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V8DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7173 */
rtx
gen_extendv16hfv16sf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V16SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7173 */
rtx
gen_extendv8hfv8sf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V8SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7189 */
rtx
gen_extendv4hfv4df2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7194 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      operands[1] = lowpart_subreg (V8HFmode,
				    force_reg (V4HFmode, operands[1]),
				    V4HFmode);
      emit_insn (gen_avx512fp16_float_extend_phv4df2
		 (operands[0], operands[1]));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V4DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7189 */
rtx
gen_extendv4hfv4sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7194 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      operands[1] = lowpart_subreg (V8HFmode,
				    force_reg (V4HFmode, operands[1]),
				    V4HFmode);
      emit_insn (gen_avx512fp16_float_extend_phv4sf2
		 (operands[0], operands[1]));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V4SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7228 */
rtx
gen_extendv2hfv2df2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7233 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      operands[1] = lowpart_subreg (V8HFmode,
				    force_reg (V2HFmode, operands[1]),
				    V2HFmode);
      emit_insn (gen_avx512fp16_float_extend_phv2df2
		 (operands[0], operands[1]));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V2DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7267 */
rtx
gen_truncv8dfv8hf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_TRUNCATE (V8HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7267 */
rtx
gen_truncv16sfv16hf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_TRUNCATE (V16HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7267 */
rtx
gen_truncv8sfv8hf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_TRUNCATE (V8HFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7283 */
rtx
gen_truncv4dfv4hf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7287 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx dest = gen_reg_rtx (V8HFmode);

  emit_insn (gen_avx512fp16_truncv4dfv4hf2 (dest, operands[1]));
  emit_move_insn (operands[0], lowpart_subreg (V4HFmode, dest, V8HFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT_TRUNCATE (V4HFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7283 */
rtx
gen_truncv4sfv4hf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7287 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx dest = gen_reg_rtx (V8HFmode);

  emit_insn (gen_avx512fp16_truncv4sfv4hf2 (dest, operands[1]));
  emit_move_insn (operands[0], lowpart_subreg (V4HFmode, dest, V8HFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT_TRUNCATE (V4HFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7295 */
rtx
gen_avx512fp16_truncv4dfv4hf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7302 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V4HFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HFmode,
	gen_rtx_FLOAT_TRUNCATE (V4HFmode,
	operand1),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7295 */
rtx
gen_avx512fp16_truncv4sfv4hf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7302 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V4HFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HFmode,
	gen_rtx_FLOAT_TRUNCATE (V4HFmode,
	operand1),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7316 */
rtx
gen_avx512fp16_vcvtpd2ph_v4df_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7329 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = CONST0_RTX (V4HFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HFmode,
	gen_rtx_VEC_MERGE (V4HFmode,
	gen_rtx_FLOAT_TRUNCATE (V4HFmode,
	operand1),
	gen_rtx_VEC_SELECT (V4HFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand3),
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7316 */
rtx
gen_avx512fp16_vcvtps2ph_v4sf_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7329 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = CONST0_RTX (V4HFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HFmode,
	gen_rtx_VEC_MERGE (V4HFmode,
	gen_rtx_FLOAT_TRUNCATE (V4HFmode,
	operand1),
	gen_rtx_VEC_SELECT (V4HFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))),
	operand3),
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7364 */
rtx
gen_truncv2dfv2hf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7368 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx dest = gen_reg_rtx (V8HFmode);
  emit_insn (gen_avx512fp16_truncv2dfv2hf2 (dest, operands[1]));
  emit_move_insn (operands[0], lowpart_subreg (V2HFmode, dest, V8HFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT_TRUNCATE (V2HFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7375 */
rtx
gen_avx512fp16_truncv2dfv2hf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7381 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V6HFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HFmode,
	gen_rtx_FLOAT_TRUNCATE (V2HFmode,
	operand1),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7395 */
rtx
gen_avx512fp16_vcvtpd2ph_v2df_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7407 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = CONST0_RTX (V6HFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HFmode,
	gen_rtx_VEC_MERGE (V2HFmode,
	gen_rtx_FLOAT_TRUNCATE (V2HFmode,
	operand1),
	gen_rtx_VEC_SELECT (V2HFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand3),
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7506 */
extern rtx_insn *gen_split_1057 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1057 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1057 (sse.md:7506)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7522 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op2 = lowpart_subreg (V4SImode, operands[2],
			    GET_MODE (operands[2]));
  /* Generate SSE2 cvtdq2ps.  */
  emit_insn (gen_floatv4siv4sf2 (operands[3], op2));

  /* Merge operands[3] with operands[0].  */
  rtx mask, op1;
  if (TARGET_AVX)
    {
      mask = gen_rtx_PARALLEL (VOIDmode,
			       gen_rtvec (4, GEN_INT (0), GEN_INT (1),
					  GEN_INT (6), GEN_INT (7)));
      op1 = gen_rtx_VEC_CONCAT (V8SFmode, operands[3], operands[1]);
      op2 = gen_rtx_VEC_SELECT (V4SFmode, op1, mask);
      emit_insn (gen_rtx_SET (operands[0], op2));
    }
  else
    {
      /* NB: SSE can only concatenate OP0 and OP3 to OP0.  */
      mask = gen_rtx_PARALLEL (VOIDmode,
			       gen_rtvec (4, GEN_INT (2), GEN_INT (3),
					  GEN_INT (4), GEN_INT (5)));
      op1 = gen_rtx_VEC_CONCAT (V8SFmode, operands[0], operands[3]);
      op2 = gen_rtx_VEC_SELECT (V4SFmode, op1, mask);
      emit_insn (gen_rtx_SET (operands[0], op2));

      /* Swap bits 0:63 with bits 64:127.  */
      mask = gen_rtx_PARALLEL (VOIDmode,
			       gen_rtvec (4, GEN_INT (2), GEN_INT (3),
					  GEN_INT (0), GEN_INT (1)));
      rtx dest = lowpart_subreg (V4SImode, operands[0],
				 GET_MODE (operands[0]));
      op1 = gen_rtx_VEC_SELECT (V4SImode, dest, mask);
      emit_insn (gen_rtx_SET (dest, op1));
    }
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7564 */
extern rtx_insn *gen_split_1058 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1058 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1058 (sse.md:7564)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7577 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op1 = lowpart_subreg (V2SFmode, operands[1],
			    GET_MODE (operands[1]));
  rtx tmp = lowpart_subreg (V4SFmode, operands[0],
			    GET_MODE (operands[0]));

  op1 = gen_rtx_VEC_CONCAT (V4SFmode, op1, CONST0_RTX (V2SFmode));
  emit_insn (gen_rtx_SET (tmp, op1));

  rtx dest = lowpart_subreg (V4SImode, operands[0],
			    GET_MODE (operands[0]));
  emit_insn (gen_sse2_fix_notruncv4sfv4si (dest, tmp));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7597 */
extern rtx_insn *gen_split_1059 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1059 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1059 (sse.md:7597)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7609 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op1 = lowpart_subreg (V2SFmode, operands[1],
			    GET_MODE (operands[1]));
  rtx tmp = lowpart_subreg (V4SFmode, operands[0],
			    GET_MODE (operands[0]));

  op1 = gen_rtx_VEC_CONCAT (V4SFmode, op1, CONST0_RTX (V2SFmode));
  emit_insn (gen_rtx_SET (tmp, op1));

  rtx dest = lowpart_subreg (V4SImode, operands[0],
			    GET_MODE (operands[0]));
  emit_insn (gen_fix_truncv4sfv4si2 (dest, tmp));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7761 */
rtx
gen_floatunsv16siv16sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7765 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (V16SFmode == V16SFmode)
    emit_insn (gen_ufloatv16siv16sf2 (operands[0], operands[1]));
  else
    if (TARGET_AVX512VL)
      {
	if (V16SFmode == V4SFmode)
	  emit_insn (gen_ufloatv4siv4sf2 (operands[0], operands[1]));
	else
	  emit_insn (gen_ufloatv8siv8sf2 (operands[0], operands[1]));
      }
  else
    ix86_expand_vector_convert_uns_vsivsf (operands[0], operands[1]);

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7761 */
rtx
gen_floatunsv8siv8sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7765 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (V8SFmode == V16SFmode)
    emit_insn (gen_ufloatv16siv16sf2 (operands[0], operands[1]));
  else
    if (TARGET_AVX512VL)
      {
	if (V8SFmode == V4SFmode)
	  emit_insn (gen_ufloatv4siv4sf2 (operands[0], operands[1]));
	else
	  emit_insn (gen_ufloatv8siv8sf2 (operands[0], operands[1]));
      }
  else
    ix86_expand_vector_convert_uns_vsivsf (operands[0], operands[1]);

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7761 */
rtx
gen_floatunsv4siv4sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7765 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (V4SFmode == V16SFmode)
    emit_insn (gen_ufloatv16siv16sf2 (operands[0], operands[1]));
  else
    if (TARGET_AVX512VL)
      {
	if (V4SFmode == V4SFmode)
	  emit_insn (gen_ufloatv4siv4sf2 (operands[0], operands[1]));
	else
	  emit_insn (gen_ufloatv8siv8sf2 (operands[0], operands[1]));
      }
  else
    ix86_expand_vector_convert_uns_vsivsf (operands[0], operands[1]);

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7910 */
rtx
gen_fixuns_truncv16sfv16si2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7914 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (V16SFmode == V16SFmode)
    emit_insn (gen_ufix_truncv16sfv16si2 (operands[0],
					  operands[1]));
  else
    {
      rtx tmp[3];
      tmp[0] = ix86_expand_adjust_ufix_to_sfix_si (operands[1], &tmp[2]);
      tmp[1] = gen_reg_rtx (V16SImode);
      emit_insn (gen_fix_truncv16sfv16si2 (tmp[1], tmp[0]));
      emit_insn (gen_xorv16si3 (operands[0], tmp[1], tmp[2]));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7910 */
rtx
gen_fixuns_truncv8sfv8si2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7914 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (V8SFmode == V16SFmode)
    emit_insn (gen_ufix_truncv16sfv16si2 (operands[0],
					  operands[1]));
  else
    {
      rtx tmp[3];
      tmp[0] = ix86_expand_adjust_ufix_to_sfix_si (operands[1], &tmp[2]);
      tmp[1] = gen_reg_rtx (V8SImode);
      emit_insn (gen_fix_truncv8sfv8si2 (tmp[1], tmp[0]));
      emit_insn (gen_xorv8si3 (operands[0], tmp[1], tmp[2]));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7910 */
rtx
gen_fixuns_truncv4sfv4si2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 7914 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (V4SFmode == V16SFmode)
    emit_insn (gen_ufix_truncv16sfv16si2 (operands[0],
					  operands[1]));
  else
    {
      rtx tmp[3];
      tmp[0] = ix86_expand_adjust_ufix_to_sfix_si (operands[1], &tmp[2]);
      tmp[1] = gen_reg_rtx (V4SImode);
      emit_insn (gen_fix_truncv4sfv4si2 (tmp[1], tmp[0]));
      emit_insn (gen_xorv4si3 (operands[0], tmp[1], tmp[2]));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7949 */
rtx
gen_floatv2siv2df2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V2DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:7999 */
rtx
gen_fix_truncv2dfv2si2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FIX (V2SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8205 */
rtx
gen_avx512dq_floatv2div2sf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8211 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V2SFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SFmode,
	gen_rtx_FLOAT (V2SFmode,
	operand1),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8205 */
rtx
gen_avx512dq_floatunsv2div2sf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8211 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V2SFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SFmode,
	gen_rtx_UNSIGNED_FLOAT (V2SFmode,
	operand1),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8224 */
rtx
gen_floatv2div2sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8228 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0 = gen_reg_rtx (V4SFmode);

  emit_insn (gen_avx512dq_floatv2div2sf2
	     (op0, operands[1]));

  emit_move_insn (operands[0], lowpart_subreg (V2SFmode, op0, V4SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V2SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8224 */
rtx
gen_floatunsv2div2sf2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8228 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0 = gen_reg_rtx (V4SFmode);

  emit_insn (gen_avx512dq_floatunsv2div2sf2
	     (op0, operands[1]));

  emit_move_insn (operands[0], lowpart_subreg (V2SFmode, op0, V4SFmode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FLOAT (V2SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8245 */
rtx
gen_vec_packs_float_v8di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8251 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx r1 = gen_reg_rtx (V8SFmode);
  rtx r2 = gen_reg_rtx (V8SFmode);
  rtx (*gen) (rtx, rtx);

  if (V8DImode == V2DImode)
    gen = gen_avx512dq_floatv2div2sf2;
  else
    gen = gen_floatv8div8sf2;
  emit_insn (gen (r1, operands[1]));
  emit_insn (gen (r2, operands[2]));
  if (V8DImode == V2DImode)
    emit_insn (gen_sse_movlhps (operands[0], r1, r2));
  else
    emit_insn (gen_avx_vec_concatv16sf (operands[0],
							  r1, r2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_FLOAT (V16SFmode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8245 */
rtx
gen_vec_packu_float_v8di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8251 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx r1 = gen_reg_rtx (V8SFmode);
  rtx r2 = gen_reg_rtx (V8SFmode);
  rtx (*gen) (rtx, rtx);

  if (V8DImode == V2DImode)
    gen = gen_avx512dq_floatunsv2div2sf2;
  else
    gen = gen_floatunsv8div8sf2;
  emit_insn (gen (r1, operands[1]));
  emit_insn (gen (r2, operands[2]));
  if (V8DImode == V2DImode)
    emit_insn (gen_sse_movlhps (operands[0], r1, r2));
  else
    emit_insn (gen_avx_vec_concatv16sf (operands[0],
							  r1, r2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_UNSIGNED_FLOAT (V16SFmode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8245 */
rtx
gen_vec_packs_float_v4di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8251 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx r1 = gen_reg_rtx (V4SFmode);
  rtx r2 = gen_reg_rtx (V4SFmode);
  rtx (*gen) (rtx, rtx);

  if (V4DImode == V2DImode)
    gen = gen_avx512dq_floatv2div2sf2;
  else
    gen = gen_floatv4div4sf2;
  emit_insn (gen (r1, operands[1]));
  emit_insn (gen (r2, operands[2]));
  if (V4DImode == V2DImode)
    emit_insn (gen_sse_movlhps (operands[0], r1, r2));
  else
    emit_insn (gen_avx_vec_concatv8sf (operands[0],
							  r1, r2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_FLOAT (V8SFmode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8245 */
rtx
gen_vec_packu_float_v4di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8251 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx r1 = gen_reg_rtx (V4SFmode);
  rtx r2 = gen_reg_rtx (V4SFmode);
  rtx (*gen) (rtx, rtx);

  if (V4DImode == V2DImode)
    gen = gen_avx512dq_floatunsv2div2sf2;
  else
    gen = gen_floatunsv4div4sf2;
  emit_insn (gen (r1, operands[1]));
  emit_insn (gen (r2, operands[2]));
  if (V4DImode == V2DImode)
    emit_insn (gen_sse_movlhps (operands[0], r1, r2));
  else
    emit_insn (gen_avx_vec_concatv8sf (operands[0],
							  r1, r2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_UNSIGNED_FLOAT (V8SFmode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8245 */
rtx
gen_vec_packs_float_v2di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8251 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx r1 = gen_reg_rtx (V4SFmode);
  rtx r2 = gen_reg_rtx (V4SFmode);
  rtx (*gen) (rtx, rtx);

  if (V2DImode == V2DImode)
    gen = gen_avx512dq_floatv2div2sf2;
  else
    gen = gen_floatv2div2sf2;
  emit_insn (gen (r1, operands[1]));
  emit_insn (gen (r2, operands[2]));
  if (V2DImode == V2DImode)
    emit_insn (gen_sse_movlhps (operands[0], r1, r2));
  else
    emit_insn (gen_avx_vec_concatv8sf (operands[0],
							  r1, r2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_FLOAT (V4SFmode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8245 */
rtx
gen_vec_packu_float_v2di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8251 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx r1 = gen_reg_rtx (V4SFmode);
  rtx r2 = gen_reg_rtx (V4SFmode);
  rtx (*gen) (rtx, rtx);

  if (V2DImode == V2DImode)
    gen = gen_avx512dq_floatunsv2div2sf2;
  else
    gen = gen_floatunsv2div2sf2;
  emit_insn (gen (r1, operands[1]));
  emit_insn (gen (r2, operands[2]));
  if (V2DImode == V2DImode)
    emit_insn (gen_sse_movlhps (operands[0], r1, r2));
  else
    emit_insn (gen_avx_vec_concatv8sf (operands[0],
							  r1, r2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_UNSIGNED_FLOAT (V4SFmode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8270 */
rtx
gen_floatv2div2sf2_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8281 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = CONST0_RTX (V2SFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SFmode,
	gen_rtx_VEC_MERGE (V2SFmode,
	gen_rtx_FLOAT (V2SFmode,
	operand1),
	gen_rtx_VEC_SELECT (V2SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand3),
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8270 */
rtx
gen_floatunsv2div2sf2_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8281 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = CONST0_RTX (V2SFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SFmode,
	gen_rtx_VEC_MERGE (V2SFmode,
	gen_rtx_UNSIGNED_FLOAT (V2SFmode,
	operand1),
	gen_rtx_VEC_SELECT (V2SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand3),
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8397 */
rtx
gen_avx_cvtpd2dq256_2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8404 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V4SImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	41),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8658 */
rtx
gen_fix_truncv2sfv2di2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8663 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op1 = force_reg (V2SFmode, operands[1]);
  op1 = lowpart_subreg (V4SFmode, op1, V2SFmode);
  emit_insn (gen_avx512dq_fix_truncv2sfv2di2
	     (operands[0], op1));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FIX (V2DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8658 */
rtx
gen_fixuns_truncv2sfv2di2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8663 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op1 = force_reg (V2SFmode, operands[1]);
  op1 = lowpart_subreg (V4SFmode, op1, V2SFmode);
  emit_insn (gen_avx512dq_fixuns_truncv2sfv2di2
	     (operands[0], op1));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSIGNED_FIX (V2DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8678 */
rtx
gen_vec_unpack_sfix_trunc_lo_v16sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8683 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tem = operands[1];
  rtx (*gen) (rtx, rtx);

  if (V16SFmode != V4SFmode)
    {
      tem = gen_reg_rtx (V8SFmode);
      emit_insn (gen_vec_extract_lo_v16sf (tem,
							       operands[1]));
      gen = gen_fix_truncv8sfv8di2;
    }
  else
    gen = gen_avx512dq_fix_truncv2sfv2di2;

  emit_insn (gen (operands[0], tem));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_FIX (V8DImode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8678 */
rtx
gen_vec_unpack_ufix_trunc_lo_v16sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8683 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tem = operands[1];
  rtx (*gen) (rtx, rtx);

  if (V16SFmode != V4SFmode)
    {
      tem = gen_reg_rtx (V8SFmode);
      emit_insn (gen_vec_extract_lo_v16sf (tem,
							       operands[1]));
      gen = gen_fixuns_truncv8sfv8di2;
    }
  else
    gen = gen_avx512dq_fixuns_truncv2sfv2di2;

  emit_insn (gen (operands[0], tem));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_UNSIGNED_FIX (V8DImode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8678 */
rtx
gen_vec_unpack_sfix_trunc_lo_v8sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8683 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tem = operands[1];
  rtx (*gen) (rtx, rtx);

  if (V8SFmode != V4SFmode)
    {
      tem = gen_reg_rtx (V4SFmode);
      emit_insn (gen_vec_extract_lo_v8sf (tem,
							       operands[1]));
      gen = gen_fix_truncv4sfv4di2;
    }
  else
    gen = gen_avx512dq_fix_truncv2sfv2di2;

  emit_insn (gen (operands[0], tem));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_FIX (V4DImode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8678 */
rtx
gen_vec_unpack_ufix_trunc_lo_v8sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8683 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tem = operands[1];
  rtx (*gen) (rtx, rtx);

  if (V8SFmode != V4SFmode)
    {
      tem = gen_reg_rtx (V4SFmode);
      emit_insn (gen_vec_extract_lo_v8sf (tem,
							       operands[1]));
      gen = gen_fixuns_truncv4sfv4di2;
    }
  else
    gen = gen_avx512dq_fixuns_truncv2sfv2di2;

  emit_insn (gen (operands[0], tem));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_UNSIGNED_FIX (V4DImode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8678 */
rtx
gen_vec_unpack_sfix_trunc_lo_v4sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8683 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tem = operands[1];
  rtx (*gen) (rtx, rtx);

  if (V4SFmode != V4SFmode)
    {
      tem = gen_reg_rtx (V2SFmode);
      emit_insn (gen_vec_extract_lo_v8sf (tem,
							       operands[1]));
      gen = gen_fix_truncv2sfv2di2;
    }
  else
    gen = gen_avx512dq_fix_truncv2sfv2di2;

  emit_insn (gen (operands[0], tem));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_FIX (V2DImode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8678 */
rtx
gen_vec_unpack_ufix_trunc_lo_v4sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8683 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tem = operands[1];
  rtx (*gen) (rtx, rtx);

  if (V4SFmode != V4SFmode)
    {
      tem = gen_reg_rtx (V2SFmode);
      emit_insn (gen_vec_extract_lo_v8sf (tem,
							       operands[1]));
      gen = gen_fixuns_truncv2sfv2di2;
    }
  else
    gen = gen_avx512dq_fixuns_truncv2sfv2di2;

  emit_insn (gen (operands[0], tem));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_UNSIGNED_FIX (V2DImode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8701 */
rtx
gen_vec_unpack_sfix_trunc_hi_v16sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8706 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tem;
  rtx (*gen) (rtx, rtx);

  if (V16SFmode != V4SFmode)
    {
      tem = gen_reg_rtx (V8SFmode);
      emit_insn (gen_vec_extract_hi_v16sf (tem,
							       operands[1]));
      gen = gen_fix_truncv8sfv8di2;
    }
  else
    {
      tem = gen_reg_rtx (V4SFmode);
      emit_insn (gen_avx_vpermilv4sf (tem, operands[1], GEN_INT (0x4e)));
      gen = gen_avx512dq_fix_truncv2sfv2di2;
    }

  emit_insn (gen (operands[0], tem));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_FIX (V8DImode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8701 */
rtx
gen_vec_unpack_ufix_trunc_hi_v16sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8706 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tem;
  rtx (*gen) (rtx, rtx);

  if (V16SFmode != V4SFmode)
    {
      tem = gen_reg_rtx (V8SFmode);
      emit_insn (gen_vec_extract_hi_v16sf (tem,
							       operands[1]));
      gen = gen_fixuns_truncv8sfv8di2;
    }
  else
    {
      tem = gen_reg_rtx (V4SFmode);
      emit_insn (gen_avx_vpermilv4sf (tem, operands[1], GEN_INT (0x4e)));
      gen = gen_avx512dq_fixuns_truncv2sfv2di2;
    }

  emit_insn (gen (operands[0], tem));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_UNSIGNED_FIX (V8DImode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8701 */
rtx
gen_vec_unpack_sfix_trunc_hi_v8sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8706 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tem;
  rtx (*gen) (rtx, rtx);

  if (V8SFmode != V4SFmode)
    {
      tem = gen_reg_rtx (V4SFmode);
      emit_insn (gen_vec_extract_hi_v8sf (tem,
							       operands[1]));
      gen = gen_fix_truncv4sfv4di2;
    }
  else
    {
      tem = gen_reg_rtx (V4SFmode);
      emit_insn (gen_avx_vpermilv4sf (tem, operands[1], GEN_INT (0x4e)));
      gen = gen_avx512dq_fix_truncv2sfv2di2;
    }

  emit_insn (gen (operands[0], tem));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_FIX (V4DImode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8701 */
rtx
gen_vec_unpack_ufix_trunc_hi_v8sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8706 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tem;
  rtx (*gen) (rtx, rtx);

  if (V8SFmode != V4SFmode)
    {
      tem = gen_reg_rtx (V4SFmode);
      emit_insn (gen_vec_extract_hi_v8sf (tem,
							       operands[1]));
      gen = gen_fixuns_truncv4sfv4di2;
    }
  else
    {
      tem = gen_reg_rtx (V4SFmode);
      emit_insn (gen_avx_vpermilv4sf (tem, operands[1], GEN_INT (0x4e)));
      gen = gen_avx512dq_fixuns_truncv2sfv2di2;
    }

  emit_insn (gen (operands[0], tem));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_UNSIGNED_FIX (V4DImode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8701 */
rtx
gen_vec_unpack_sfix_trunc_hi_v4sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8706 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tem;
  rtx (*gen) (rtx, rtx);

  if (V4SFmode != V4SFmode)
    {
      tem = gen_reg_rtx (V2SFmode);
      emit_insn (gen_vec_extract_hi_v8sf (tem,
							       operands[1]));
      gen = gen_fix_truncv2sfv2di2;
    }
  else
    {
      tem = gen_reg_rtx (V4SFmode);
      emit_insn (gen_avx_vpermilv4sf (tem, operands[1], GEN_INT (0x4e)));
      gen = gen_avx512dq_fix_truncv2sfv2di2;
    }

  emit_insn (gen (operands[0], tem));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_FIX (V2DImode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8701 */
rtx
gen_vec_unpack_ufix_trunc_hi_v4sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8706 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tem;
  rtx (*gen) (rtx, rtx);

  if (V4SFmode != V4SFmode)
    {
      tem = gen_reg_rtx (V2SFmode);
      emit_insn (gen_vec_extract_hi_v8sf (tem,
							       operands[1]));
      gen = gen_fixuns_truncv2sfv2di2;
    }
  else
    {
      tem = gen_reg_rtx (V4SFmode);
      emit_insn (gen_avx_vpermilv4sf (tem, operands[1], GEN_INT (0x4e)));
      gen = gen_avx512dq_fixuns_truncv2sfv2di2;
    }

  emit_insn (gen (operands[0], tem));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_UNSIGNED_FIX (V2DImode,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8738 */
rtx
gen_avx_cvttpd2dq256_2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8744 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V4SImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8SImode,
	gen_rtx_FIX (V4SImode,
	operand1),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8903 */
rtx
gen_sse2_cvtpd2ps (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8910 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V2SFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SFmode,
	gen_rtx_FLOAT_TRUNCATE (V2SFmode,
	operand1),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:8912 */
rtx
gen_sse2_cvtpd2ps_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 8924 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = CONST0_RTX (V2SFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SFmode,
	gen_rtx_VEC_MERGE (V2SFmode,
	gen_rtx_FLOAT_TRUNCATE (V2SFmode,
	operand1),
	gen_rtx_VEC_SELECT (V2SFmode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand3),
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9004 */
rtx
gen_truncv8dfv8sf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_TRUNCATE (V8SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9004 */
rtx
gen_truncv4dfv4sf2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_TRUNCATE (V4SFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9010 */
rtx
gen_extendv8sfv8df2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V8DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9010 */
rtx
gen_extendv4sfv4df2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V4DFmode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9074 */
rtx
gen_avx512bw_cvtmask2bv64qi (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9081 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    operands[2] = CONSTM1_RTX (V64QImode);
    operands[3] = CONST0_RTX (V64QImode);
  }
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	operand2,
	operand3,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9074 */
rtx
gen_avx512vl_cvtmask2bv16qi (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9081 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    operands[2] = CONSTM1_RTX (V16QImode);
    operands[3] = CONST0_RTX (V16QImode);
  }
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	operand2,
	operand3,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9074 */
rtx
gen_avx512vl_cvtmask2bv32qi (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9081 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    operands[2] = CONSTM1_RTX (V32QImode);
    operands[3] = CONST0_RTX (V32QImode);
  }
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	operand2,
	operand3,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9074 */
rtx
gen_avx512bw_cvtmask2wv32hi (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9081 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    operands[2] = CONSTM1_RTX (V32HImode);
    operands[3] = CONST0_RTX (V32HImode);
  }
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	operand2,
	operand3,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9074 */
rtx
gen_avx512vl_cvtmask2wv16hi (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9081 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    operands[2] = CONSTM1_RTX (V16HImode);
    operands[3] = CONST0_RTX (V16HImode);
  }
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	operand2,
	operand3,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9074 */
rtx
gen_avx512vl_cvtmask2wv8hi (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9081 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    operands[2] = CONSTM1_RTX (V8HImode);
    operands[3] = CONST0_RTX (V8HImode);
  }
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	operand2,
	operand3,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9097 */
rtx
gen_avx512f_cvtmask2dv16si (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9104 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    operands[2] = CONSTM1_RTX (V16SImode);
    operands[3] = CONST0_RTX (V16SImode);
  }
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	operand2,
	operand3,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9097 */
rtx
gen_avx512vl_cvtmask2dv8si (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9104 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    operands[2] = CONSTM1_RTX (V8SImode);
    operands[3] = CONST0_RTX (V8SImode);
  }
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	operand2,
	operand3,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9097 */
rtx
gen_avx512vl_cvtmask2dv4si (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9104 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    operands[2] = CONSTM1_RTX (V4SImode);
    operands[3] = CONST0_RTX (V4SImode);
  }
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	operand2,
	operand3,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9097 */
rtx
gen_avx512f_cvtmask2qv8di (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9104 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    operands[2] = CONSTM1_RTX (V8DImode);
    operands[3] = CONST0_RTX (V8DImode);
  }
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	operand2,
	operand3,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9097 */
rtx
gen_avx512vl_cvtmask2qv4di (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9104 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    operands[2] = CONSTM1_RTX (V4DImode);
    operands[3] = CONST0_RTX (V4DImode);
  }
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	operand2,
	operand3,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9097 */
rtx
gen_avx512vl_cvtmask2qv2di (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9104 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
    operands[2] = CONSTM1_RTX (V2DImode);
    operands[3] = CONST0_RTX (V2DImode);
  }
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	operand2,
	operand3,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9154 */
rtx
gen_vec_unpacks_hi_v4sf (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9168 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = gen_reg_rtx (V4SFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_VEC_SELECT (V4SFmode,
	gen_rtx_VEC_CONCAT (V8SFmode,
	copy_rtx (operand2),
	operand1),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V2DFmode,
	gen_rtx_VEC_SELECT (V2SFmode,
	copy_rtx (operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9170 */
rtx
gen_vec_unpacks_hi_v8sf (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9180 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = gen_reg_rtx (V4SFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_VEC_SELECT (V4SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V4DFmode,
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9182 */
rtx
gen_vec_unpacks_hi_v16sf (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9194 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = gen_reg_rtx (V8SFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_VEC_SELECT (V8SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V8DFmode,
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9196 */
rtx
gen_vec_unpacks_lo_v4sf (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V2DFmode,
	gen_rtx_VEC_SELECT (V2SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9204 */
rtx
gen_vec_unpacks_lo_v8sf (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT_EXTEND (V4DFmode,
	gen_rtx_VEC_SELECT (V4SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9217 */
rtx
gen_vec_unpacks_float_hi_v32hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9221 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16SImode);

  emit_insn (gen_vec_unpacks_hi_v32hi (tmp, operands[1]));
  emit_insn (gen_rtx_SET (operands[0],
			  gen_rtx_FLOAT (V16SFmode, tmp)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9217 */
rtx
gen_vec_unpacks_float_hi_v16hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9221 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8SImode);

  emit_insn (gen_vec_unpacks_hi_v16hi (tmp, operands[1]));
  emit_insn (gen_rtx_SET (operands[0],
			  gen_rtx_FLOAT (V8SFmode, tmp)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9217 */
rtx
gen_vec_unpacks_float_hi_v8hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9221 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SImode);

  emit_insn (gen_vec_unpacks_hi_v8hi (tmp, operands[1]));
  emit_insn (gen_rtx_SET (operands[0],
			  gen_rtx_FLOAT (V4SFmode, tmp)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9230 */
rtx
gen_vec_unpacks_float_lo_v32hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9234 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16SImode);

  emit_insn (gen_vec_unpacks_lo_v32hi (tmp, operands[1]));
  emit_insn (gen_rtx_SET (operands[0],
			  gen_rtx_FLOAT (V16SFmode, tmp)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9230 */
rtx
gen_vec_unpacks_float_lo_v16hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9234 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8SImode);

  emit_insn (gen_vec_unpacks_lo_v16hi (tmp, operands[1]));
  emit_insn (gen_rtx_SET (operands[0],
			  gen_rtx_FLOAT (V8SFmode, tmp)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9230 */
rtx
gen_vec_unpacks_float_lo_v8hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9234 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SImode);

  emit_insn (gen_vec_unpacks_lo_v8hi (tmp, operands[1]));
  emit_insn (gen_rtx_SET (operands[0],
			  gen_rtx_FLOAT (V4SFmode, tmp)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9243 */
rtx
gen_vec_unpacku_float_hi_v32hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9247 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16SImode);

  emit_insn (gen_vec_unpacku_hi_v32hi (tmp, operands[1]));
  emit_insn (gen_rtx_SET (operands[0],
			  gen_rtx_FLOAT (V16SFmode, tmp)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9243 */
rtx
gen_vec_unpacku_float_hi_v16hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9247 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8SImode);

  emit_insn (gen_vec_unpacku_hi_v16hi (tmp, operands[1]));
  emit_insn (gen_rtx_SET (operands[0],
			  gen_rtx_FLOAT (V8SFmode, tmp)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9243 */
rtx
gen_vec_unpacku_float_hi_v8hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9247 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SImode);

  emit_insn (gen_vec_unpacku_hi_v8hi (tmp, operands[1]));
  emit_insn (gen_rtx_SET (operands[0],
			  gen_rtx_FLOAT (V4SFmode, tmp)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9256 */
rtx
gen_vec_unpacku_float_lo_v32hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9260 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16SImode);

  emit_insn (gen_vec_unpacku_lo_v32hi (tmp, operands[1]));
  emit_insn (gen_rtx_SET (operands[0],
			  gen_rtx_FLOAT (V16SFmode, tmp)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9256 */
rtx
gen_vec_unpacku_float_lo_v16hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9260 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8SImode);

  emit_insn (gen_vec_unpacku_lo_v16hi (tmp, operands[1]));
  emit_insn (gen_rtx_SET (operands[0],
			  gen_rtx_FLOAT (V8SFmode, tmp)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9256 */
rtx
gen_vec_unpacku_float_lo_v8hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9260 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SImode);

  emit_insn (gen_vec_unpacku_lo_v8hi (tmp, operands[1]));
  emit_insn (gen_rtx_SET (operands[0],
			  gen_rtx_FLOAT (V4SFmode, tmp)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9269 */
rtx
gen_vec_unpacks_float_hi_v4si (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9281 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = gen_reg_rtx (V4SImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_VEC_SELECT (V4SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V2DFmode,
	gen_rtx_VEC_SELECT (V2SImode,
	copy_rtx (operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9283 */
rtx
gen_vec_unpacks_float_lo_v4si (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V2DFmode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx)))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9291 */
rtx
gen_vec_unpacks_float_hi_v8si (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9301 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = gen_reg_rtx (V4SImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_VEC_SELECT (V4SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V4DFmode,
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9303 */
rtx
gen_vec_unpacks_float_lo_v8si (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V4DFmode,
	gen_rtx_VEC_SELECT (V4SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9312 */
rtx
gen_vec_unpacks_float_hi_v16si (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9324 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = gen_reg_rtx (V8SImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_VEC_SELECT (V8SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V8DFmode,
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9326 */
rtx
gen_vec_unpacks_float_lo_v16si (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_FLOAT (V8DFmode,
	gen_rtx_VEC_SELECT (V8SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9337 */
rtx
gen_vec_unpacku_float_hi_v4si (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx operand8;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[9];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  REAL_VALUE_TYPE TWO32r;
  rtx x;
  int i;

  real_ldexp (&TWO32r, &dconst1, 32);
  x = const_double_from_real_value (TWO32r, DFmode);

  operands[3] = force_reg (V2DFmode, CONST0_RTX (V2DFmode));
  operands[4] = force_reg (V2DFmode,
			   ix86_build_const_vector (V2DFmode, 1, x));

  operands[5] = gen_reg_rtx (V4SImode);

  for (i = 6; i < 9; i++)
    operands[i] = gen_reg_rtx (V2DFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
    operand7 = operands[7];
    (void) operand7;
    operand8 = operands[8];
    (void) operand8;
  }
  emit_insn (gen_rtx_SET (operand5,
	gen_rtx_VEC_SELECT (V4SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
  emit_insn (gen_rtx_SET (operand6,
	gen_rtx_FLOAT (V2DFmode,
	gen_rtx_VEC_SELECT (V2SImode,
	copy_rtx (operand5),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))))));
  emit_insn (gen_rtx_SET (operand7,
	gen_rtx_LT (V2DFmode,
	copy_rtx (operand6),
	operand3)));
  emit_insn (gen_rtx_SET (operand8,
	gen_rtx_AND (V2DFmode,
	copy_rtx (operand7),
	operand4)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V2DFmode,
	copy_rtx (operand6),
	copy_rtx (operand8))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9373 */
rtx
gen_vec_unpacku_float_lo_v4si (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx operand7;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9386 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  REAL_VALUE_TYPE TWO32r;
  rtx x;
  int i;

  real_ldexp (&TWO32r, &dconst1, 32);
  x = const_double_from_real_value (TWO32r, DFmode);

  operands[3] = force_reg (V2DFmode, CONST0_RTX (V2DFmode));
  operands[4] = force_reg (V2DFmode,
			   ix86_build_const_vector (V2DFmode, 1, x));

  for (i = 5; i < 8; i++)
    operands[i] = gen_reg_rtx (V2DFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
    operand7 = operands[7];
    (void) operand7;
  }
  emit_insn (gen_rtx_SET (operand5,
	gen_rtx_FLOAT (V2DFmode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))))));
  emit_insn (gen_rtx_SET (operand6,
	gen_rtx_LT (V2DFmode,
	copy_rtx (operand5),
	operand3)));
  emit_insn (gen_rtx_SET (operand7,
	gen_rtx_AND (V2DFmode,
	copy_rtx (operand6),
	operand4)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V2DFmode,
	copy_rtx (operand5),
	copy_rtx (operand7))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9402 */
rtx
gen_vec_unpacku_float_hi_v8si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9406 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  REAL_VALUE_TYPE TWO32r;
  rtx x, tmp[6];
  int i;

  real_ldexp (&TWO32r, &dconst1, 32);
  x = const_double_from_real_value (TWO32r, DFmode);

  tmp[0] = force_reg (V4DFmode, CONST0_RTX (V4DFmode));
  tmp[1] = force_reg (V4DFmode, ix86_build_const_vector (V4DFmode, 1, x));
  tmp[5] = gen_reg_rtx (V4SImode);

  for (i = 2; i < 5; i++)
    tmp[i] = gen_reg_rtx (V4DFmode);
  emit_insn (gen_vec_extract_hi_v8si (tmp[5], operands[1]));
  emit_insn (gen_floatv4siv4df2 (tmp[2], tmp[5]));
  emit_insn (gen_rtx_SET (tmp[3], gen_rtx_LT (V4DFmode, tmp[2], tmp[0])));
  emit_insn (gen_andv4df3 (tmp[4], tmp[3], tmp[1]));
  emit_insn (gen_addv4df3 (operands[0], tmp[2], tmp[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9428 */
rtx
gen_vec_unpacku_float_hi_v16si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9432 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  REAL_VALUE_TYPE TWO32r;
  rtx k, x, tmp[4];

  real_ldexp (&TWO32r, &dconst1, 32);
  x = const_double_from_real_value (TWO32r, DFmode);

  tmp[0] = force_reg (V8DFmode, CONST0_RTX (V8DFmode));
  tmp[1] = force_reg (V8DFmode, ix86_build_const_vector (V8DFmode, 1, x));
  tmp[2] = gen_reg_rtx (V8DFmode);
  tmp[3] = gen_reg_rtx (V8SImode);
  k = gen_reg_rtx (QImode);

  emit_insn (gen_vec_extract_hi_v16si (tmp[3], operands[1]));
  emit_insn (gen_floatv8siv8df2 (tmp[2], tmp[3]));
  ix86_expand_mask_vec_cmp (k, LT, tmp[2], tmp[0]);
  emit_insn (gen_addv8df3_mask (tmp[2], tmp[2], tmp[1], tmp[2], k));
  emit_move_insn (operands[0], tmp[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9453 */
rtx
gen_vec_unpacku_float_lo_v8si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  REAL_VALUE_TYPE TWO32r;
  rtx x, tmp[5];
  int i;

  real_ldexp (&TWO32r, &dconst1, 32);
  x = const_double_from_real_value (TWO32r, DFmode);

  tmp[0] = force_reg (V4DFmode, CONST0_RTX (V4DFmode));
  tmp[1] = force_reg (V4DFmode, ix86_build_const_vector (V4DFmode, 1, x));

  for (i = 2; i < 5; i++)
    tmp[i] = gen_reg_rtx (V4DFmode);
  emit_insn (gen_avx_cvtdq2pd256_2 (tmp[2], operands[1]));
  emit_insn (gen_rtx_SET (tmp[3], gen_rtx_LT (V4DFmode, tmp[2], tmp[0])));
  emit_insn (gen_andv4df3 (tmp[4], tmp[3], tmp[1]));
  emit_insn (gen_addv4df3 (operands[0], tmp[2], tmp[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9477 */
rtx
gen_vec_unpacku_float_lo_v16si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9481 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  REAL_VALUE_TYPE TWO32r;
  rtx k, x, tmp[3];

  real_ldexp (&TWO32r, &dconst1, 32);
  x = const_double_from_real_value (TWO32r, DFmode);

  tmp[0] = force_reg (V8DFmode, CONST0_RTX (V8DFmode));
  tmp[1] = force_reg (V8DFmode, ix86_build_const_vector (V8DFmode, 1, x));
  tmp[2] = gen_reg_rtx (V8DFmode);
  k = gen_reg_rtx (QImode);

  emit_insn (gen_avx512f_cvtdq2pd512_2 (tmp[2], operands[1]));
  ix86_expand_mask_vec_cmp (k, LT, tmp[2], tmp[0]);
  emit_insn (gen_addv8df3_mask (tmp[2], tmp[2], tmp[1], tmp[2], k));
  emit_move_insn (operands[0], tmp[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9500 */
rtx
gen_vec_pack_trunc_v8df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9512 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = gen_reg_rtx (V8SFmode);
  operands[4] = gen_reg_rtx (V8SFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_FLOAT_TRUNCATE (V8SFmode,
	operand1)));
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_FLOAT_TRUNCATE (V8SFmode,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16SFmode,
	copy_rtx (operand3),
	copy_rtx (operand4))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9500 */
rtx
gen_vec_pack_trunc_v4df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9512 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = gen_reg_rtx (V4SFmode);
  operands[4] = gen_reg_rtx (V4SFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_FLOAT_TRUNCATE (V4SFmode,
	operand1)));
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_FLOAT_TRUNCATE (V4SFmode,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8SFmode,
	copy_rtx (operand3),
	copy_rtx (operand4))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9517 */
rtx
gen_vec_pack_trunc_v2df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9522 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp0, tmp1;

  if (TARGET_AVX && !TARGET_PREFER_AVX128 && optimize_insn_for_speed_p ())
    {
      tmp0 = gen_reg_rtx (V4DFmode);
      tmp1 = force_reg (V2DFmode, operands[1]);

      emit_insn (gen_avx_vec_concatv4df (tmp0, tmp1, operands[2]));
      emit_insn (gen_avx_cvtpd2ps256 (operands[0], tmp0));
    }
  else
    {
      tmp0 = gen_reg_rtx (V4SFmode);
      tmp1 = gen_reg_rtx (V4SFmode);

      emit_insn (gen_sse2_cvtpd2ps (tmp0, operands[1]));
      emit_insn (gen_sse2_cvtpd2ps (tmp1, operands[2]));
      emit_insn (gen_sse_movlhps (operands[0], tmp0, tmp1));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9545 */
rtx
gen_vec_pack_sfix_trunc_v8df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9550 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx r1, r2;

  r1 = gen_reg_rtx (V8SImode);
  r2 = gen_reg_rtx (V8SImode);

  emit_insn (gen_fix_truncv8dfv8si2 (r1, operands[1]));
  emit_insn (gen_fix_truncv8dfv8si2 (r2, operands[2]));
  emit_insn (gen_avx_vec_concatv16si (operands[0], r1, r2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9562 */
rtx
gen_vec_pack_sfix_trunc_v4df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9567 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx r1, r2;

  r1 = gen_reg_rtx (V4SImode);
  r2 = gen_reg_rtx (V4SImode);

  emit_insn (gen_fix_truncv4dfv4si2 (r1, operands[1]));
  emit_insn (gen_fix_truncv4dfv4si2 (r2, operands[2]));
  emit_insn (gen_avx_vec_concatv8si (operands[0], r1, r2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9579 */
rtx
gen_vec_pack_sfix_trunc_v2df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9584 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp0, tmp1, tmp2;

  if (TARGET_AVX && !TARGET_PREFER_AVX128 && optimize_insn_for_speed_p ())
    {
      tmp0 = gen_reg_rtx (V4DFmode);
      tmp1 = force_reg (V2DFmode, operands[1]);

      emit_insn (gen_avx_vec_concatv4df (tmp0, tmp1, operands[2]));
      emit_insn (gen_fix_truncv4dfv4si2 (operands[0], tmp0));
    }
  else
    {
      tmp0 = gen_reg_rtx (V4SImode);
      tmp1 = gen_reg_rtx (V4SImode);
      tmp2 = gen_reg_rtx (V2DImode);

      emit_insn (gen_sse2_cvttpd2dq (tmp0, operands[1]));
      emit_insn (gen_sse2_cvttpd2dq (tmp1, operands[2]));
      emit_insn (gen_vec_interleave_lowv2di (tmp2,
					     gen_lowpart (V2DImode, tmp0),
					     gen_lowpart (V2DImode, tmp1)));
      emit_move_insn (operands[0], gen_lowpart (V4SImode, tmp2));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9614 */
rtx
gen_vec_pack_ufix_trunc_v8df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9619 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (V8DFmode == V8DFmode)
    {
      rtx r1, r2;

      r1 = gen_reg_rtx (V8SImode);
      r2 = gen_reg_rtx (V8SImode);

      emit_insn (gen_fixuns_truncv8dfv8si2 (r1, operands[1]));
      emit_insn (gen_fixuns_truncv8dfv8si2 (r2, operands[2]));
      emit_insn (gen_avx_vec_concatv16si (operands[0], r1, r2));
    }
  else
    {
      rtx tmp[7];
      tmp[0] = ix86_expand_adjust_ufix_to_sfix_si (operands[1], &tmp[2]);
      tmp[1] = ix86_expand_adjust_ufix_to_sfix_si (operands[2], &tmp[3]);
      tmp[4] = gen_reg_rtx (V16SImode);
      emit_insn (gen_vec_pack_sfix_trunc_v8df (tmp[4], tmp[0], tmp[1]));
      if (V16SImode == V4SImode || TARGET_AVX2)
	{
	  tmp[5] = gen_reg_rtx (V16SImode);
	  ix86_expand_vec_extract_even_odd (tmp[5], tmp[2], tmp[3], 0);
	}
      else
	{
	  tmp[5] = gen_reg_rtx (V8SFmode);
	  ix86_expand_vec_extract_even_odd (tmp[5],
					    gen_lowpart (V8SFmode, tmp[2]),
					    gen_lowpart (V8SFmode, tmp[3]), 0);
	  tmp[5] = gen_lowpart (V8SImode, tmp[5]);
	}
      tmp[6] = expand_simple_binop (V16SImode, XOR, tmp[4], tmp[5],
				    operands[0], 0, OPTAB_DIRECT);
      if (tmp[6] != operands[0])
	emit_move_insn (operands[0], tmp[6]);
    }

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9614 */
rtx
gen_vec_pack_ufix_trunc_v4df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9619 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (V4DFmode == V8DFmode)
    {
      rtx r1, r2;

      r1 = gen_reg_rtx (V8SImode);
      r2 = gen_reg_rtx (V8SImode);

      emit_insn (gen_fixuns_truncv8dfv8si2 (r1, operands[1]));
      emit_insn (gen_fixuns_truncv8dfv8si2 (r2, operands[2]));
      emit_insn (gen_avx_vec_concatv16si (operands[0], r1, r2));
    }
  else
    {
      rtx tmp[7];
      tmp[0] = ix86_expand_adjust_ufix_to_sfix_si (operands[1], &tmp[2]);
      tmp[1] = ix86_expand_adjust_ufix_to_sfix_si (operands[2], &tmp[3]);
      tmp[4] = gen_reg_rtx (V8SImode);
      emit_insn (gen_vec_pack_sfix_trunc_v4df (tmp[4], tmp[0], tmp[1]));
      if (V8SImode == V4SImode || TARGET_AVX2)
	{
	  tmp[5] = gen_reg_rtx (V8SImode);
	  ix86_expand_vec_extract_even_odd (tmp[5], tmp[2], tmp[3], 0);
	}
      else
	{
	  tmp[5] = gen_reg_rtx (V8SFmode);
	  ix86_expand_vec_extract_even_odd (tmp[5],
					    gen_lowpart (V8SFmode, tmp[2]),
					    gen_lowpart (V8SFmode, tmp[3]), 0);
	  tmp[5] = gen_lowpart (V8SImode, tmp[5]);
	}
      tmp[6] = expand_simple_binop (V8SImode, XOR, tmp[4], tmp[5],
				    operands[0], 0, OPTAB_DIRECT);
      if (tmp[6] != operands[0])
	emit_move_insn (operands[0], tmp[6]);
    }

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9614 */
rtx
gen_vec_pack_ufix_trunc_v2df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9619 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (V2DFmode == V8DFmode)
    {
      rtx r1, r2;

      r1 = gen_reg_rtx (V8SImode);
      r2 = gen_reg_rtx (V8SImode);

      emit_insn (gen_fixuns_truncv8dfv8si2 (r1, operands[1]));
      emit_insn (gen_fixuns_truncv8dfv8si2 (r2, operands[2]));
      emit_insn (gen_avx_vec_concatv16si (operands[0], r1, r2));
    }
  else
    {
      rtx tmp[7];
      tmp[0] = ix86_expand_adjust_ufix_to_sfix_si (operands[1], &tmp[2]);
      tmp[1] = ix86_expand_adjust_ufix_to_sfix_si (operands[2], &tmp[3]);
      tmp[4] = gen_reg_rtx (V4SImode);
      emit_insn (gen_vec_pack_sfix_trunc_v2df (tmp[4], tmp[0], tmp[1]));
      if (V4SImode == V4SImode || TARGET_AVX2)
	{
	  tmp[5] = gen_reg_rtx (V4SImode);
	  ix86_expand_vec_extract_even_odd (tmp[5], tmp[2], tmp[3], 0);
	}
      else
	{
	  tmp[5] = gen_reg_rtx (V8SFmode);
	  ix86_expand_vec_extract_even_odd (tmp[5],
					    gen_lowpart (V8SFmode, tmp[2]),
					    gen_lowpart (V8SFmode, tmp[3]), 0);
	  tmp[5] = gen_lowpart (V8SImode, tmp[5]);
	}
      tmp[6] = expand_simple_binop (V4SImode, XOR, tmp[4], tmp[5],
				    operands[0], 0, OPTAB_DIRECT);
      if (tmp[6] != operands[0])
	emit_move_insn (operands[0], tmp[6]);
    }

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9660 */
rtx
gen_avx512f_vec_pack_sfix_v8df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9665 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx r1, r2;

  r1 = gen_reg_rtx (V8SImode);
  r2 = gen_reg_rtx (V8SImode);

  emit_insn (gen_avx512f_cvtpd2dq512 (r1, operands[1]));
  emit_insn (gen_avx512f_cvtpd2dq512 (r2, operands[2]));
  emit_insn (gen_avx_vec_concatv16si (operands[0], r1, r2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9677 */
rtx
gen_vec_pack_sfix_v4df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9682 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx r1, r2;

  r1 = gen_reg_rtx (V4SImode);
  r2 = gen_reg_rtx (V4SImode);

  emit_insn (gen_avx_cvtpd2dq256 (r1, operands[1]));
  emit_insn (gen_avx_cvtpd2dq256 (r2, operands[2]));
  emit_insn (gen_avx_vec_concatv8si (operands[0], r1, r2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9694 */
rtx
gen_vec_pack_sfix_v2df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9699 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp0, tmp1, tmp2;

  if (TARGET_AVX && !TARGET_PREFER_AVX128 && optimize_insn_for_speed_p ())
    {
      tmp0 = gen_reg_rtx (V4DFmode);
      tmp1 = force_reg (V2DFmode, operands[1]);

      emit_insn (gen_avx_vec_concatv4df (tmp0, tmp1, operands[2]));
      emit_insn (gen_avx_cvtpd2dq256 (operands[0], tmp0));
    }
  else
    {
      tmp0 = gen_reg_rtx (V4SImode);
      tmp1 = gen_reg_rtx (V4SImode);
      tmp2 = gen_reg_rtx (V2DImode);

      emit_insn (gen_sse2_cvtpd2dq (tmp0, operands[1]));
      emit_insn (gen_sse2_cvtpd2dq (tmp1, operands[2]));
      emit_insn (gen_vec_interleave_lowv2di (tmp2,
					     gen_lowpart (V2DImode, tmp0),
					     gen_lowpart (V2DImode, tmp1)));
      emit_move_insn (operands[0], gen_lowpart (V4SImode, tmp2));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9732 */
rtx
gen_sse_movhlps_exp (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9743 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx dst = ix86_fixup_binary_operands (UNKNOWN, V4SFmode, operands);

  emit_insn (gen_sse_movhlps (dst, operands[1], operands[2]));

  /* Fix up the destination if needed.  */
  if (dst != operands[0])
    emit_move_insn (operands[0], dst);

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4SFmode,
	gen_rtx_VEC_CONCAT (V8SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9777 */
rtx
gen_sse_movlhps_exp (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9788 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx dst = ix86_fixup_binary_operands (UNKNOWN, V4SFmode, operands);

  emit_insn (gen_sse_movlhps (dst, operands[1], operands[2]));

  /* Fix up the destination if needed.  */
  if (dst != operands[0])
    emit_move_insn (operands[0], dst);

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4SFmode,
	gen_rtx_VEC_CONCAT (V8SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)])))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9859 */
rtx
gen_vec_interleave_highv8sf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9888 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = gen_reg_rtx (V8SFmode);
  operands[4] = gen_reg_rtx (V8SFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_VEC_SELECT (V8SFmode,
	gen_rtx_VEC_CONCAT (V16SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)])))));
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_VEC_SELECT (V8SFmode,
	gen_rtx_VEC_CONCAT (V16SFmode,
	copy_rtx (operand1),
	copy_rtx (operand2)),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8SFmode,
	gen_rtx_VEC_CONCAT (V16SFmode,
	copy_rtx (operand3),
	copy_rtx (operand4)),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:9964 */
rtx
gen_vec_interleave_lowv8sf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 9993 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = gen_reg_rtx (V8SFmode);
  operands[4] = gen_reg_rtx (V8SFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_VEC_SELECT (V8SFmode,
	gen_rtx_VEC_CONCAT (V16SFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)])))));
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_VEC_SELECT (V8SFmode,
	gen_rtx_VEC_CONCAT (V16SFmode,
	copy_rtx (operand1),
	copy_rtx (operand2)),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8SFmode,
	gen_rtx_VEC_CONCAT (V16SFmode,
	copy_rtx (operand3),
	copy_rtx (operand4)),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)])))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10123 */
rtx
gen_avx_shufps256 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10129 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  emit_insn (gen_avx_shufps256_1 (operands[0],
						     operands[1],
						     operands[2],
						     GEN_INT ((mask >> 0) & 3),
						     GEN_INT ((mask >> 2) & 3),
						     GEN_INT (((mask >> 4) & 3) + 8),
						     GEN_INT (((mask >> 6) & 3) + 8),
						     GEN_INT (((mask >> 0) & 3) + 4),
						     GEN_INT (((mask >> 2) & 3) + 4),
						     GEN_INT (((mask >> 4) & 3) + 12),
						     GEN_INT (((mask >> 6) & 3) + 12)
						     ));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10123 */
rtx
gen_avx_shufps256_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10129 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  emit_insn (gen_avx_shufps256_1_mask (operands[0],
						     operands[1],
						     operands[2],
						     GEN_INT ((mask >> 0) & 3),
						     GEN_INT ((mask >> 2) & 3),
						     GEN_INT (((mask >> 4) & 3) + 8),
						     GEN_INT (((mask >> 6) & 3) + 8),
						     GEN_INT (((mask >> 0) & 3) + 4),
						     GEN_INT (((mask >> 2) & 3) + 4),
						     GEN_INT (((mask >> 4) & 3) + 12),
						     GEN_INT (((mask >> 6) & 3) + 12)
						     , operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10182 */
rtx
gen_sse_shufps (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10188 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  emit_insn (gen_sse_shufps_v4sf (operands[0],
						     operands[1],
						     operands[2],
						     GEN_INT ((mask >> 0) & 3),
						     GEN_INT ((mask >> 2) & 3),
						     GEN_INT (((mask >> 4) & 3) + 4),
						     GEN_INT (((mask >> 6) & 3) + 4)
						     ));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10182 */
rtx
gen_sse_shufps_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10188 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  emit_insn (gen_sse_shufps_v4sf_mask (operands[0],
						     operands[1],
						     operands[2],
						     GEN_INT ((mask >> 0) & 3),
						     GEN_INT ((mask >> 2) & 3),
						     GEN_INT (((mask >> 4) & 3) + 4),
						     GEN_INT (((mask >> 6) & 3) + 4)
						     , operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10279 */
rtx
gen_sse_loadhps_exp (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10287 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx dst = ix86_fixup_binary_operands (UNKNOWN, V4SFmode, operands);

  emit_insn (gen_sse_loadhps (dst, operands[1], operands[2]));

  /* Fix up the destination if needed.  */
  if (dst != operands[0])
    emit_move_insn (operands[0], dst);

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SFmode,
	gen_rtx_VEC_SELECT (V2SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10332 */
rtx
gen_sse_loadlps_exp (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx dst = ix86_fixup_binary_operands (UNKNOWN, V4SFmode, operands);

  emit_insn (gen_sse_loadlps (dst, operands[1], operands[2]));

  /* Fix up the destination if needed.  */
  if (dst != operands[0])
    emit_move_insn (operands[0], dst);

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SFmode,
	operand2,
	gen_rtx_VEC_SELECT (V2SFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10797 */
extern rtx_insn *gen_split_1060 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1060 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1060 (sse.md:10797)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10806 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address (operands[0], SImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10797 */
extern rtx_insn *gen_split_1061 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1061 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1061 (sse.md:10797)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10806 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address (operands[0], SFmode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10827 */
rtx
gen_vec_setv16qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv16qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10832 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10827 */
rtx
gen_vec_setv8hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv8hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10832 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10827 */
rtx
gen_vec_setv4si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10832 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10827 */
rtx
gen_vec_setv2di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv2di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10832 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10827 */
rtx
gen_vec_setv4sf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv4sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10832 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10827 */
rtx
gen_vec_setv2df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv2df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10832 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10841 */
rtx
gen_vec_setv8hf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv8hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10855 */
rtx
gen_vec_setv32qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv32qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10860 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10855 */
rtx
gen_vec_setv16hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv16hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10860 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10855 */
rtx
gen_vec_setv16hf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv16hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10860 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10855 */
rtx
gen_vec_setv8si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10860 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10855 */
rtx
gen_vec_setv4di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10860 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10855 */
rtx
gen_vec_setv8sf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv8sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10860 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10855 */
rtx
gen_vec_setv4df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv4df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10860 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10855 */
rtx
gen_vec_setv64qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv64qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10860 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10855 */
rtx
gen_vec_setv32hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv32hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10860 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10855 */
rtx
gen_vec_setv32hf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv32hf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10860 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10855 */
rtx
gen_vec_setv16si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv16si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10860 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10855 */
rtx
gen_vec_setv8di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv8di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10860 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10855 */
rtx
gen_vec_setv16sf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv16sf cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10860 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10855 */
rtx
gen_vec_setv8df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL _Pragma ("GCC error \"vec_setv8df cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10860 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (CONST_INT_P (operands[2]))
    ix86_expand_vector_set (false, operands[0], operands[1],
			    INTVAL (operands[2]));
  else
    ix86_expand_vector_set_var (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10869 */
extern rtx_insn *gen_split_1062 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1062 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1062 (sse.md:10869)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10878 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (SFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10880 */
extern rtx_insn *gen_split_1063 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1063 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1063 (sse.md:10880)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10894 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx dest = lowpart_subreg (V4SFmode, operands[0], SFmode);
  switch (INTVAL (operands[2]))
    {
    case 1:
    case 3:
      emit_insn (gen_sse_shufps_v4sf (dest, operands[1], operands[1],
				      operands[2], operands[2],
				      GEN_INT (INTVAL (operands[2]) + 4),
				      GEN_INT (INTVAL (operands[2]) + 4)));
      break;
    case 2:
      emit_insn (gen_vec_interleave_highv4sf (dest, operands[1], operands[1]));
      break;
    default:
      /* 0 should be handled by the *vec_extractv4sf_0 pattern above.  */
      gcc_unreachable ();
    }
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10922 */
extern rtx_insn *gen_split_1064 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1064 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1064 (sse.md:10922)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10931 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = adjust_address (operands[1], SFmode, INTVAL (operands[2]) * 4);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10945 */
rtx
gen_avx512dq_vextractf64x2_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10952 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask;
  mask = INTVAL (operands[2]);
  rtx dest = operands[0];

  if (MEM_P (operands[0]) && !rtx_equal_p (operands[0], operands[3]))
    dest = gen_reg_rtx (V2DFmode);

  if (V8DFmode == V16SImode || V8DFmode == V16SFmode)
    emit_insn (gen_avx512f_vextractf32x4_1_mask (dest,
        operands[1], GEN_INT (mask * 4), GEN_INT (mask * 4 + 1),
	GEN_INT (mask * 4 + 2), GEN_INT (mask * 4 + 3), operands[3],
	operands[4]));
  else
    emit_insn (gen_avx512dq_vextractf64x2_1_mask (dest,
        operands[1], GEN_INT (mask * 2), GEN_INT (mask * 2 + 1), operands[3],
	operands[4]));
  if (dest != operands[0])
    emit_move_insn (operands[0], dest);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10945 */
rtx
gen_avx512dq_vextracti64x2_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10952 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask;
  mask = INTVAL (operands[2]);
  rtx dest = operands[0];

  if (MEM_P (operands[0]) && !rtx_equal_p (operands[0], operands[3]))
    dest = gen_reg_rtx (V2DImode);

  if (V8DImode == V16SImode || V8DImode == V16SFmode)
    emit_insn (gen_avx512f_vextracti32x4_1_mask (dest,
        operands[1], GEN_INT (mask * 4), GEN_INT (mask * 4 + 1),
	GEN_INT (mask * 4 + 2), GEN_INT (mask * 4 + 3), operands[3],
	operands[4]));
  else
    emit_insn (gen_avx512dq_vextracti64x2_1_mask (dest,
        operands[1], GEN_INT (mask * 2), GEN_INT (mask * 2 + 1), operands[3],
	operands[4]));
  if (dest != operands[0])
    emit_move_insn (operands[0], dest);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10945 */
rtx
gen_avx512f_vextractf32x4_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10952 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask;
  mask = INTVAL (operands[2]);
  rtx dest = operands[0];

  if (MEM_P (operands[0]) && !rtx_equal_p (operands[0], operands[3]))
    dest = gen_reg_rtx (V4SFmode);

  if (V16SFmode == V16SImode || V16SFmode == V16SFmode)
    emit_insn (gen_avx512f_vextractf32x4_1_mask (dest,
        operands[1], GEN_INT (mask * 4), GEN_INT (mask * 4 + 1),
	GEN_INT (mask * 4 + 2), GEN_INT (mask * 4 + 3), operands[3],
	operands[4]));
  else
    emit_insn (gen_avx512dq_vextractf64x2_1_mask (dest,
        operands[1], GEN_INT (mask * 2), GEN_INT (mask * 2 + 1), operands[3],
	operands[4]));
  if (dest != operands[0])
    emit_move_insn (operands[0], dest);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:10945 */
rtx
gen_avx512f_vextracti32x4_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 10952 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask;
  mask = INTVAL (operands[2]);
  rtx dest = operands[0];

  if (MEM_P (operands[0]) && !rtx_equal_p (operands[0], operands[3]))
    dest = gen_reg_rtx (V4SImode);

  if (V16SImode == V16SImode || V16SImode == V16SFmode)
    emit_insn (gen_avx512f_vextracti32x4_1_mask (dest,
        operands[1], GEN_INT (mask * 4), GEN_INT (mask * 4 + 1),
	GEN_INT (mask * 4 + 2), GEN_INT (mask * 4 + 3), operands[3],
	operands[4]));
  else
    emit_insn (gen_avx512dq_vextracti64x2_1_mask (dest,
        operands[1], GEN_INT (mask * 2), GEN_INT (mask * 2 + 1), operands[3],
	operands[4]));
  if (dest != operands[0])
    emit_move_insn (operands[0], dest);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11016 */
extern rtx_insn *gen_split_1065 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1065 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1065 (sse.md:11016)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11027 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_AVX512VL
      && REG_P (operands[0])
      && EXT_REX_SSE_REG_P (operands[1]))
    operands[0]
      = lowpart_subreg (V8DFmode, operands[0], V2DFmode);
  else
    operands[1] = gen_lowpart (V2DFmode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11016 */
extern rtx_insn *gen_split_1066 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1066 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1066 (sse.md:11016)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11027 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_AVX512VL
      && REG_P (operands[0])
      && EXT_REX_SSE_REG_P (operands[1]))
    operands[0]
      = lowpart_subreg (V8DImode, operands[0], V2DImode);
  else
    operands[1] = gen_lowpart (V2DImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11087 */
extern rtx_insn *gen_split_1067 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1067 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1067 (sse.md:11087)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11099 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_AVX512VL
      && REG_P (operands[0])
      && EXT_REX_SSE_REG_P (operands[1]))
    operands[0]
      = lowpart_subreg (V16SFmode, operands[0], V4SFmode);
  else
    operands[1] = gen_lowpart (V4SFmode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11087 */
extern rtx_insn *gen_split_1068 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1068 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1068 (sse.md:11087)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11099 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_AVX512VL
      && REG_P (operands[0])
      && EXT_REX_SSE_REG_P (operands[1]))
    operands[0]
      = lowpart_subreg (V16SImode, operands[0], V4SImode);
  else
    operands[1] = gen_lowpart (V4SImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11118 */
rtx
gen_avx512dq_vextractf32x8_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11125 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx, rtx, rtx);
  rtx dest = operands[0];

  if (MEM_P (dest) && !rtx_equal_p (dest, operands[3]))
    dest = gen_reg_rtx (V8SFmode);

  switch (INTVAL (operands[2]))
    {
    case 0:
      insn = gen_vec_extract_lo_v16sf_mask;
      break;
    case 1:
      insn = gen_vec_extract_hi_v16sf_mask;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (dest, operands[1], operands[3], operands[4]));
  if (dest != operands[0])
    emit_move_insn (operands[0], dest);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11118 */
rtx
gen_avx512dq_vextracti32x8_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11125 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx, rtx, rtx);
  rtx dest = operands[0];

  if (MEM_P (dest) && !rtx_equal_p (dest, operands[3]))
    dest = gen_reg_rtx (V8SImode);

  switch (INTVAL (operands[2]))
    {
    case 0:
      insn = gen_vec_extract_lo_v16si_mask;
      break;
    case 1:
      insn = gen_vec_extract_hi_v16si_mask;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (dest, operands[1], operands[3], operands[4]));
  if (dest != operands[0])
    emit_move_insn (operands[0], dest);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11118 */
rtx
gen_avx512f_vextractf64x4_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11125 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx, rtx, rtx);
  rtx dest = operands[0];

  if (MEM_P (dest) && !rtx_equal_p (dest, operands[3]))
    dest = gen_reg_rtx (V4DFmode);

  switch (INTVAL (operands[2]))
    {
    case 0:
      insn = gen_vec_extract_lo_v8df_mask;
      break;
    case 1:
      insn = gen_vec_extract_hi_v8df_mask;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (dest, operands[1], operands[3], operands[4]));
  if (dest != operands[0])
    emit_move_insn (operands[0], dest);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11118 */
rtx
gen_avx512f_vextracti64x4_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11125 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx, rtx, rtx);
  rtx dest = operands[0];

  if (MEM_P (dest) && !rtx_equal_p (dest, operands[3]))
    dest = gen_reg_rtx (V4DImode);

  switch (INTVAL (operands[2]))
    {
    case 0:
      insn = gen_vec_extract_lo_v8di_mask;
      break;
    case 1:
      insn = gen_vec_extract_hi_v8di_mask;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (dest, operands[1], operands[3], operands[4]));
  if (dest != operands[0])
    emit_move_insn (operands[0], dest);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11150 */
extern rtx_insn *gen_split_1069 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1069 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1069 (sse.md:11150)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11161 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V4DFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11150 */
extern rtx_insn *gen_split_1070 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1070 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1070 (sse.md:11150)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11161 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V4DImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11276 */
rtx
gen_avx512vl_vextractf128v8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11283 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx, rtx, rtx);
  rtx dest = operands[0];

  if (MEM_P (dest)
      && (GET_MODE_SIZE (GET_MODE_INNER (V8SImode)) == 4
	  /* For V8S[IF]mode there are maskm insns with =m and 0
	     constraints.  */
	  ? !rtx_equal_p (dest, operands[3])
	  /* For V4D[IF]mode, hi insns don't allow memory, and
	     lo insns have =m and 0C constraints.  */
	  : (operands[2] != const0_rtx
	     || (!rtx_equal_p (dest, operands[3])
		 && GET_CODE (operands[3]) != CONST_VECTOR))))
    dest = gen_reg_rtx (V4SImode);
  switch (INTVAL (operands[2]))
    {
    case 0:
      insn = gen_vec_extract_lo_v8si_mask;
      break;
    case 1:
      insn = gen_vec_extract_hi_v8si_mask;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (dest, operands[1], operands[3], operands[4]));
  if (dest != operands[0])
    emit_move_insn (operands[0], dest);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11276 */
rtx
gen_avx512vl_vextractf128v8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11283 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx, rtx, rtx);
  rtx dest = operands[0];

  if (MEM_P (dest)
      && (GET_MODE_SIZE (GET_MODE_INNER (V8SFmode)) == 4
	  /* For V8S[IF]mode there are maskm insns with =m and 0
	     constraints.  */
	  ? !rtx_equal_p (dest, operands[3])
	  /* For V4D[IF]mode, hi insns don't allow memory, and
	     lo insns have =m and 0C constraints.  */
	  : (operands[2] != const0_rtx
	     || (!rtx_equal_p (dest, operands[3])
		 && GET_CODE (operands[3]) != CONST_VECTOR))))
    dest = gen_reg_rtx (V4SFmode);
  switch (INTVAL (operands[2]))
    {
    case 0:
      insn = gen_vec_extract_lo_v8sf_mask;
      break;
    case 1:
      insn = gen_vec_extract_hi_v8sf_mask;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (dest, operands[1], operands[3], operands[4]));
  if (dest != operands[0])
    emit_move_insn (operands[0], dest);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11276 */
rtx
gen_avx512vl_vextractf128v4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11283 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx, rtx, rtx);
  rtx dest = operands[0];

  if (MEM_P (dest)
      && (GET_MODE_SIZE (GET_MODE_INNER (V4DImode)) == 4
	  /* For V8S[IF]mode there are maskm insns with =m and 0
	     constraints.  */
	  ? !rtx_equal_p (dest, operands[3])
	  /* For V4D[IF]mode, hi insns don't allow memory, and
	     lo insns have =m and 0C constraints.  */
	  : (operands[2] != const0_rtx
	     || (!rtx_equal_p (dest, operands[3])
		 && GET_CODE (operands[3]) != CONST_VECTOR))))
    dest = gen_reg_rtx (V2DImode);
  switch (INTVAL (operands[2]))
    {
    case 0:
      insn = gen_vec_extract_lo_v4di_mask;
      break;
    case 1:
      insn = gen_vec_extract_hi_v4di_mask;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (dest, operands[1], operands[3], operands[4]));
  if (dest != operands[0])
    emit_move_insn (operands[0], dest);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11276 */
rtx
gen_avx512vl_vextractf128v4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11283 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx, rtx, rtx);
  rtx dest = operands[0];

  if (MEM_P (dest)
      && (GET_MODE_SIZE (GET_MODE_INNER (V4DFmode)) == 4
	  /* For V8S[IF]mode there are maskm insns with =m and 0
	     constraints.  */
	  ? !rtx_equal_p (dest, operands[3])
	  /* For V4D[IF]mode, hi insns don't allow memory, and
	     lo insns have =m and 0C constraints.  */
	  : (operands[2] != const0_rtx
	     || (!rtx_equal_p (dest, operands[3])
		 && GET_CODE (operands[3]) != CONST_VECTOR))))
    dest = gen_reg_rtx (V2DFmode);
  switch (INTVAL (operands[2]))
    {
    case 0:
      insn = gen_vec_extract_lo_v4df_mask;
      break;
    case 1:
      insn = gen_vec_extract_hi_v4df_mask;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (dest, operands[1], operands[3], operands[4]));
  if (dest != operands[0])
    emit_move_insn (operands[0], dest);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11316 */
rtx
gen_avx_vextractf128v32qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11321 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx);

  switch (INTVAL (operands[2]))
    {
    case 0:
      insn = gen_vec_extract_lo_v32qi;
      break;
    case 1:
      insn = gen_vec_extract_hi_v32qi;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11316 */
rtx
gen_avx_vextractf128v16hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11321 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx);

  switch (INTVAL (operands[2]))
    {
    case 0:
      insn = gen_vec_extract_lo_v16hi;
      break;
    case 1:
      insn = gen_vec_extract_hi_v16hi;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11316 */
rtx
gen_avx_vextractf128v8si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11321 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx);

  switch (INTVAL (operands[2]))
    {
    case 0:
      insn = gen_vec_extract_lo_v8si;
      break;
    case 1:
      insn = gen_vec_extract_hi_v8si;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11316 */
rtx
gen_avx_vextractf128v4di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11321 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx);

  switch (INTVAL (operands[2]))
    {
    case 0:
      insn = gen_vec_extract_lo_v4di;
      break;
    case 1:
      insn = gen_vec_extract_hi_v4di;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11316 */
rtx
gen_avx_vextractf128v8sf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11321 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx);

  switch (INTVAL (operands[2]))
    {
    case 0:
      insn = gen_vec_extract_lo_v8sf;
      break;
    case 1:
      insn = gen_vec_extract_hi_v8sf;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11316 */
rtx
gen_avx_vextractf128v4df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11321 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx);

  switch (INTVAL (operands[2]))
    {
    case 0:
      insn = gen_vec_extract_lo_v4df;
      break;
    case 1:
      insn = gen_vec_extract_hi_v4df;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11316 */
rtx
gen_avx_vextractf128v16hf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11321 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx);

  switch (INTVAL (operands[2]))
    {
    case 0:
      insn = gen_vec_extract_lo_v16hf;
      break;
    case 1:
      insn = gen_vec_extract_hi_v16hf;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11391 */
extern rtx_insn *gen_split_1071 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1071 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1071 (sse.md:11391)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11405 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_AVX512VL
      && REG_P (operands[0])
      && EXT_REX_SSE_REG_P (operands[1]))
    operands[0]
      = lowpart_subreg (V16SFmode, operands[0], V8SFmode);
  else
    operands[1] = gen_lowpart (V8SFmode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11391 */
extern rtx_insn *gen_split_1072 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1072 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1072 (sse.md:11391)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11405 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_AVX512VL
      && REG_P (operands[0])
      && EXT_REX_SSE_REG_P (operands[1]))
    operands[0]
      = lowpart_subreg (V16SImode, operands[0], V8SImode);
  else
    operands[1] = gen_lowpart (V8SImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11443 */
extern rtx_insn *gen_split_1073 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1073 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1073 (sse.md:11443)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11451 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V2DImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11443 */
extern rtx_insn *gen_split_1074 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1074 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1074 (sse.md:11443)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11451 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V2DFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11494 */
extern rtx_insn *gen_split_1075 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1075 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1075 (sse.md:11494)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11503 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V4SImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11494 */
extern rtx_insn *gen_split_1076 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1076 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1076 (sse.md:11494)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11503 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V4SFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11571 */
extern rtx_insn *gen_split_1077 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1077 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1077 (sse.md:11571)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11597 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_AVX512VL
      && REG_P (operands[0])
      && EXT_REX_SSE_REG_P (operands[1]))
    operands[0] = lowpart_subreg (V32HImode, operands[0],
				  V16HImode);
  else
    operands[1] = gen_lowpart (V16HImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11571 */
extern rtx_insn *gen_split_1078 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1078 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1078 (sse.md:11571)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11597 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_AVX512VL
      && REG_P (operands[0])
      && EXT_REX_SSE_REG_P (operands[1]))
    operands[0] = lowpart_subreg (V32HFmode, operands[0],
				  V16HFmode);
  else
    operands[1] = gen_lowpart (V16HFmode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11633 */
extern rtx_insn *gen_split_1079 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1079 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1079 (sse.md:11633)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11645 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V8HImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11633 */
extern rtx_insn *gen_split_1080 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1080 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1080 (sse.md:11633)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11645 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V8HFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11667 */
extern rtx_insn *gen_split_1081 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1081 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1081 (sse.md:11667)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11701 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_AVX512VL
      && REG_P (operands[0])
      && EXT_REX_SSE_REG_P (operands[1]))
    operands[0] = lowpart_subreg (V64QImode, operands[0], V32QImode);
  else
    operands[1] = gen_lowpart (V32QImode, operands[1]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11744 */
extern rtx_insn *gen_split_1082 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1082 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1082 (sse.md:11744)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11760 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V16QImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11788 */
extern rtx_insn *gen_split_1083 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1083 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1083 (sse.md:11788)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11797 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (HFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11788 */
extern rtx_insn *gen_split_1084 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1084 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1084 (sse.md:11788)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11797 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (HFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11788 */
extern rtx_insn *gen_split_1085 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1085 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1085 (sse.md:11788)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11797 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (HFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv64qiqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv32qiqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv16qiqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv32hihi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv16hihi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv8hihi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv16sisi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv8sisi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv4sisi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv8didi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv4didi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv2didi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv32hfhf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv16hfhf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv8hfhf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv16sfsf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv8sfsf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv4sfsf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv8dfdf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv4dfdf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv2dfdf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv4titi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11841 */
rtx
gen_vec_extractv2titi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_extract (false, operands[0], operands[1],
			      INTVAL (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11852 */
rtx
gen_vec_extractv32qiv16qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11857 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[2]))
    emit_insn (gen_vec_extract_hi_v32qi (operands[0], operands[1]));
  else
    emit_insn (gen_vec_extract_lo_v32qi (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11852 */
rtx
gen_vec_extractv16hiv8hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11857 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[2]))
    emit_insn (gen_vec_extract_hi_v16hi (operands[0], operands[1]));
  else
    emit_insn (gen_vec_extract_lo_v16hi (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11852 */
rtx
gen_vec_extractv16hfv8hf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11857 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[2]))
    emit_insn (gen_vec_extract_hi_v16hf (operands[0], operands[1]));
  else
    emit_insn (gen_vec_extract_lo_v16hf (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11852 */
rtx
gen_vec_extractv8siv4si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11857 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[2]))
    emit_insn (gen_vec_extract_hi_v8si (operands[0], operands[1]));
  else
    emit_insn (gen_vec_extract_lo_v8si (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11852 */
rtx
gen_vec_extractv4div2di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11857 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[2]))
    emit_insn (gen_vec_extract_hi_v4di (operands[0], operands[1]));
  else
    emit_insn (gen_vec_extract_lo_v4di (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11852 */
rtx
gen_vec_extractv8sfv4sf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11857 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[2]))
    emit_insn (gen_vec_extract_hi_v8sf (operands[0], operands[1]));
  else
    emit_insn (gen_vec_extract_lo_v8sf (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11852 */
rtx
gen_vec_extractv4dfv2df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11857 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[2]))
    emit_insn (gen_vec_extract_hi_v4df (operands[0], operands[1]));
  else
    emit_insn (gen_vec_extract_lo_v4df (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11852 */
rtx
gen_vec_extractv64qiv32qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11857 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[2]))
    emit_insn (gen_vec_extract_hi_v64qi (operands[0], operands[1]));
  else
    emit_insn (gen_vec_extract_lo_v64qi (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11852 */
rtx
gen_vec_extractv32hiv16hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11857 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[2]))
    emit_insn (gen_vec_extract_hi_v32hi (operands[0], operands[1]));
  else
    emit_insn (gen_vec_extract_lo_v32hi (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11852 */
rtx
gen_vec_extractv32hfv16hf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11857 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[2]))
    emit_insn (gen_vec_extract_hi_v32hf (operands[0], operands[1]));
  else
    emit_insn (gen_vec_extract_lo_v32hf (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11852 */
rtx
gen_vec_extractv16siv8si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11857 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[2]))
    emit_insn (gen_vec_extract_hi_v16si (operands[0], operands[1]));
  else
    emit_insn (gen_vec_extract_lo_v16si (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11852 */
rtx
gen_vec_extractv8div4di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11857 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[2]))
    emit_insn (gen_vec_extract_hi_v8di (operands[0], operands[1]));
  else
    emit_insn (gen_vec_extract_lo_v8di (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11852 */
rtx
gen_vec_extractv16sfv8sf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11857 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[2]))
    emit_insn (gen_vec_extract_hi_v16sf (operands[0], operands[1]));
  else
    emit_insn (gen_vec_extract_lo_v16sf (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11852 */
rtx
gen_vec_extractv8dfv4df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11857 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[2]))
    emit_insn (gen_vec_extract_hi_v8df (operands[0], operands[1]));
  else
    emit_insn (gen_vec_extract_lo_v8df (operands[0], operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11902 */
rtx
gen_vec_interleave_highv4df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11925 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = gen_reg_rtx (V4DFmode);
  operands[4] = gen_reg_rtx (V4DFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_VEC_SELECT (V4DFmode,
	gen_rtx_VEC_CONCAT (V8DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)])))));
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_VEC_SELECT (V4DFmode,
	gen_rtx_VEC_CONCAT (V8DFmode,
	copy_rtx (operand1),
	copy_rtx (operand2)),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4DFmode,
	gen_rtx_VEC_CONCAT (V8DFmode,
	copy_rtx (operand3),
	copy_rtx (operand4)),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11947 */
rtx
gen_vec_interleave_highv2df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 11956 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!ix86_vec_interleave_v2df_operator_ok (operands, 1))
    operands[2] = force_reg (V2DFmode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V2DFmode,
	gen_rtx_VEC_CONCAT (V4DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)])))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11986 */
rtx
gen_avx512f_movddup512 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8DFmode,
	gen_rtx_VEC_CONCAT (V16DFmode,
	operand1,
	operand1),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11986 */
rtx
gen_avx512f_movddup512_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_VEC_SELECT (V8DFmode,
	gen_rtx_VEC_CONCAT (V16DFmode,
	operand1,
	operand1),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11998 */
rtx
gen_avx512f_unpcklpd512 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8DFmode,
	gen_rtx_VEC_CONCAT (V16DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:11998 */
rtx
gen_avx512f_unpcklpd512_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_VEC_SELECT (V8DFmode,
	gen_rtx_VEC_CONCAT (V16DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12029 */
rtx
gen_avx_movddup256 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4DFmode,
	gen_rtx_VEC_CONCAT (V8DFmode,
	operand1,
	operand1),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12029 */
rtx
gen_avx_movddup256_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_VEC_SELECT (V4DFmode,
	gen_rtx_VEC_CONCAT (V8DFmode,
	operand1,
	operand1),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))),
	operand2,
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12039 */
rtx
gen_avx_unpcklpd256 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4DFmode,
	gen_rtx_VEC_CONCAT (V8DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12039 */
rtx
gen_avx_unpcklpd256_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_VEC_SELECT (V4DFmode,
	gen_rtx_VEC_CONCAT (V8DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12065 */
rtx
gen_vec_interleave_lowv4df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12088 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = gen_reg_rtx (V4DFmode);
  operands[4] = gen_reg_rtx (V4DFmode);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_VEC_SELECT (V4DFmode,
	gen_rtx_VEC_CONCAT (V8DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)])))));
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_VEC_SELECT (V4DFmode,
	gen_rtx_VEC_CONCAT (V8DFmode,
	copy_rtx (operand1),
	copy_rtx (operand2)),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4DFmode,
	gen_rtx_VEC_CONCAT (V8DFmode,
	copy_rtx (operand3),
	copy_rtx (operand4)),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)])))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12109 */
rtx
gen_vec_interleave_lowv2df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12118 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!ix86_vec_interleave_v2df_operator_ok (operands, 0))
    operands[1] = force_reg (V2DFmode, operands[1]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V2DFmode,
	gen_rtx_VEC_CONCAT (V4DFmode,
	operand1,
	operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)])))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12148 */
extern rtx_insn *gen_split_1086 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1086 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1086 (sse.md:12148)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12158 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx low = gen_lowpart (DFmode, operands[1]);

  emit_move_insn (adjust_address (operands[0], DFmode, 0), low);
  emit_move_insn (adjust_address (operands[0], DFmode, 8), low);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12166 */
extern rtx_insn *gen_split_1087 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1087 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1087 (sse.md:12166)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12176 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = adjust_address (operands[1], DFmode, INTVAL (operands[2]) * 8);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12205 */
rtx
gen_avx512f_vternlogv16si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12213 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_vternlogv16si_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    operands[4], CONST0_RTX (V16SImode), operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12205 */
rtx
gen_avx512vl_vternlogv8si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12213 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_vternlogv8si_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    operands[4], CONST0_RTX (V8SImode), operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12205 */
rtx
gen_avx512vl_vternlogv4si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12213 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_vternlogv4si_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    operands[4], CONST0_RTX (V4SImode), operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12205 */
rtx
gen_avx512f_vternlogv8di_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12213 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_vternlogv8di_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    operands[4], CONST0_RTX (V8DImode), operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12205 */
rtx
gen_avx512vl_vternlogv4di_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12213 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_vternlogv4di_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    operands[4], CONST0_RTX (V4DImode), operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12205 */
rtx
gen_avx512vl_vternlogv2di_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12213 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_vternlogv2di_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    operands[4], CONST0_RTX (V2DImode), operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1088 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1088 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1088 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1089 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1089 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1089 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1090 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1090 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1090 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1091 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1091 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1091 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1092 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1092 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1092 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1093 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1093 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1093 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1094 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1094 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1094 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1095 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1095 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1095 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1096 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1096 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1096 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1097 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1097 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1097 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1098 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1098 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1098 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1099 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1099 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1099 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1100 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1100 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1100 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1101 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1101 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1101 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1102 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1102 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1102 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1103 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1103 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1103 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1104 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1104 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1104 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1105 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1105 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1105 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1106 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1106 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1106 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1107 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1107 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1107 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1108 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1108 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1108 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1109 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1109 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1109 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1110 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1110 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1110 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1111 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1111 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1111 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1112 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1112 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1112 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1113 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1113 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1113 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1114 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1114 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1114 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V64QImode))
     operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
     operands[6] = force_reg (V64QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1115 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1115 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1115 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1116 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1116 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1116 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1117 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1117 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1117 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1118 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1118 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1118 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1119 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1119 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1119 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1120 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1120 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1120 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1121 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1121 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1121 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1122 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1122 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1122 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1123 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1123 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1123 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1124 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1124 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1124 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1125 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1125 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1125 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1126 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1126 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1126 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1127 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1127 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1127 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1128 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1128 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1128 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1129 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1129 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1129 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1130 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1130 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1130 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1131 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1131 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1131 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1132 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1132 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1132 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1133 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1133 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1133 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1134 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1134 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1134 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1135 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1135 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1135 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1136 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1136 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1136 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1137 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1137 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1137 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1138 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1138 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1138 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1139 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1139 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1139 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1140 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1140 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1140 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1141 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1141 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1141 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32QImode))
     operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
     operands[6] = force_reg (V32QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1142 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1142 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1142 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1143 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1143 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1143 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1144 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1144 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1144 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1145 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1145 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1145 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1146 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1146 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1146 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1147 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1147 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1147 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1148 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1148 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1148 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1149 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1149 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1149 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1150 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1150 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1150 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1151 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1151 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1151 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1152 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1152 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1152 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1153 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1153 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1153 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1154 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1154 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1154 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1155 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1155 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1155 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1156 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1156 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1156 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1157 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1157 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1157 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1158 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1158 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1158 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1159 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1159 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1159 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1160 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1160 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1160 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1161 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1161 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1161 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1162 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1162 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1162 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1163 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1163 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1163 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1164 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1164 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1164 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1165 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1165 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1165 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1166 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1166 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1166 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1167 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1167 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1167 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1168 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1168 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1168 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16QImode))
     operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
     operands[6] = force_reg (V16QImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1169 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1169 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1169 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1170 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1170 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1170 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1171 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1171 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1171 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1172 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1172 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1172 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1173 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1173 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1173 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1174 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1174 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1174 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1175 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1175 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1175 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1176 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1176 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1176 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1177 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1177 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1177 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1178 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1178 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1178 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1179 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1179 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1179 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1180 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1180 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1180 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1181 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1181 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1181 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1182 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1182 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1182 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1183 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1183 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1183 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1184 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1184 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1184 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1185 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1185 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1185 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1186 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1186 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1186 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1187 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1187 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1187 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1188 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1188 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1188 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1189 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1189 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1189 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1190 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1190 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1190 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1191 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1191 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1191 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1192 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1192 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1192 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1193 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1193 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1193 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1194 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1194 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1194 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1195 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1195 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1195 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HImode))
     operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
     operands[6] = force_reg (V32HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1196 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1196 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1196 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1197 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1197 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1197 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1198 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1198 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1198 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1199 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1199 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1199 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1200 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1200 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1200 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1201 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1201 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1201 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1202 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1202 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1202 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1203 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1203 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1203 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1204 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1204 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1204 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1205 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1205 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1205 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1206 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1206 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1206 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1207 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1207 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1207 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1208 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1208 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1208 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1209 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1209 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1209 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1210 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1210 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1210 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1211 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1211 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1211 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1212 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1212 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1212 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1213 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1213 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1213 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1214 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1214 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1214 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1215 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1215 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1215 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1216 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1216 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1216 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1217 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1217 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1217 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1218 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1218 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1218 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1219 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1219 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1219 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1220 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1220 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1220 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1221 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1221 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1221 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1222 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1222 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1222 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HImode))
     operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
     operands[6] = force_reg (V16HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1223 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1223 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1223 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1224 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1224 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1224 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1225 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1225 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1225 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1226 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1226 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1226 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1227 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1227 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1227 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1228 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1228 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1228 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1229 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1229 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1229 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1230 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1230 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1230 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1231 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1231 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1231 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1232 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1232 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1232 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1233 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1233 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1233 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1234 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1234 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1234 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1235 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1235 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1235 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1236 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1236 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1236 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1237 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1237 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1237 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1238 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1238 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1238 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1239 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1239 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1239 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1240 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1240 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1240 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1241 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1241 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1241 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1242 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1242 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1242 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1243 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1243 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1243 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1244 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1244 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1244 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1245 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1245 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1245 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1246 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1246 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1246 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1247 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1247 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1247 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1248 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1248 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1248 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1249 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1249 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1249 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HImode))
     operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
     operands[6] = force_reg (V8HImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1250 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1250 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1250 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1251 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1251 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1251 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1252 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1252 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1252 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1253 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1253 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1253 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1254 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1254 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1254 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1255 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1255 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1255 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1256 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1256 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1256 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1257 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1257 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1257 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1258 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1258 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1258 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1259 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1259 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1259 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1260 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1260 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1260 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1261 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1261 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1261 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1262 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1262 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1262 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1263 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1263 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1263 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1264 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1264 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1264 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1265 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1265 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1265 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1266 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1266 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1266 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1267 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1267 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1267 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1268 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1268 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1268 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1269 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1269 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1269 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1270 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1270 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1270 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1271 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1271 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1271 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1272 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1272 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1272 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1273 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1273 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1273 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1274 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1274 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1274 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1275 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1275 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1275 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1276 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1276 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1276 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SImode))
     operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
     operands[6] = force_reg (V16SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1277 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1277 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1277 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1278 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1278 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1278 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1279 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1279 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1279 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1280 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1280 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1280 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1281 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1281 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1281 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1282 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1282 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1282 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1283 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1283 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1283 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1284 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1284 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1284 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1285 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1285 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1285 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1286 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1286 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1286 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1287 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1287 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1287 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1288 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1288 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1288 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1289 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1289 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1289 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1290 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1290 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1290 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1291 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1291 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1291 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1292 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1292 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1292 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1293 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1293 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1293 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1294 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1294 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1294 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1295 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1295 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1295 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1296 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1296 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1296 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1297 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1297 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1297 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1298 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1298 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1298 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1299 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1299 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1299 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1300 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1300 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1300 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1301 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1301 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1301 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1302 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1302 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1302 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1303 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1303 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1303 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SImode))
     operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
     operands[6] = force_reg (V8SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1304 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1304 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1304 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1305 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1305 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1305 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1306 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1306 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1306 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1307 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1307 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1307 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1308 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1308 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1308 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1309 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1309 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1309 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1310 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1310 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1310 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1311 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1311 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1311 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1312 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1312 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1312 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1313 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1313 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1313 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1314 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1314 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1314 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1315 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1315 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1315 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1316 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1316 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1316 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1317 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1317 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1317 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1318 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1318 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1318 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1319 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1319 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1319 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1320 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1320 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1320 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1321 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1321 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1321 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1322 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1322 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1322 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1323 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1323 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1323 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1324 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1324 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1324 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1325 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1325 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1325 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1326 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1326 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1326 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1327 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1327 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1327 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1328 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1328 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1328 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1329 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1329 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1329 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1330 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1330 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1330 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SImode))
     operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
     operands[6] = force_reg (V4SImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1331 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1331 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1331 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1332 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1332 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1332 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1333 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1333 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1333 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1334 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1334 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1334 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1335 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1335 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1335 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1336 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1336 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1336 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1337 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1337 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1337 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1338 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1338 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1338 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1339 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1339 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1339 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1340 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1340 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1340 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1341 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1341 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1341 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1342 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1342 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1342 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1343 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1343 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1343 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1344 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1344 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1344 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1345 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1345 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1345 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1346 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1346 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1346 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1347 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1347 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1347 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1348 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1348 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1348 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1349 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1349 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1349 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1350 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1350 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1350 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1351 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1351 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1351 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1352 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1352 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1352 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1353 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1353 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1353 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1354 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1354 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1354 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1355 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1355 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1355 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1356 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1356 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1356 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1357 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1357 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1357 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DImode))
     operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
     operands[6] = force_reg (V8DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1358 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1358 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1358 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1359 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1359 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1359 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1360 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1360 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1360 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1361 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1361 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1361 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1362 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1362 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1362 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1363 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1363 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1363 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1364 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1364 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1364 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1365 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1365 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1365 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1366 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1366 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1366 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1367 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1367 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1367 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1368 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1368 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1368 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1369 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1369 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1369 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1370 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1370 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1370 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1371 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1371 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1371 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1372 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1372 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1372 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1373 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1373 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1373 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1374 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1374 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1374 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1375 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1375 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1375 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1376 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1376 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1376 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1377 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1377 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1377 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1378 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1378 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1378 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1379 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1379 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1379 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1380 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1380 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1380 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1381 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1381 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1381 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1382 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1382 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1382 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1383 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1383 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1383 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1384 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1384 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1384 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DImode))
     operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
     operands[6] = force_reg (V4DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1385 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1385 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1385 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1386 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1386 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1386 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1387 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1387 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1387 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1388 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1388 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1388 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1389 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1389 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1389 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1390 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1390 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1390 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1391 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1391 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1391 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1392 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1392 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1392 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1393 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1393 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1393 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1394 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1394 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1394 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1395 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1395 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1395 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1396 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1396 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1396 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1397 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1397 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1397 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1398 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1398 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1398 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1399 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1399 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1399 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1400 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1400 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1400 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1401 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1401 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1401 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1402 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1402 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1402 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1403 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1403 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1403 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1404 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1404 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1404 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1405 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1405 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1405 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1406 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1406 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1406 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1407 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1407 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1407 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1408 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1408 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1408 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1409 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1409 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1409 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1410 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1410 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1410 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1411 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1411 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1411 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DImode))
     operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
     operands[6] = force_reg (V2DImode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1412 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1412 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1412 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1413 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1413 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1413 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1414 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1414 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1414 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1415 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1415 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1415 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1416 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1416 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1416 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1417 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1417 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1417 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1418 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1418 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1418 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1419 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1419 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1419 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1420 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1420 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1420 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1421 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1421 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1421 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1422 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1422 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1422 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1423 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1423 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1423 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1424 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1424 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1424 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1425 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1425 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1425 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1426 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1426 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1426 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1427 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1427 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1427 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1428 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1428 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1428 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1429 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1429 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1429 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1430 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1430 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1430 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1431 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1431 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1431 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1432 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1432 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1432 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1433 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1433 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1433 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1434 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1434 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1434 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1435 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1435 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1435 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1436 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1436 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1436 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1437 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1437 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1437 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1438 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1438 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1438 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V32HFmode))
     operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
     operands[6] = force_reg (V32HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1439 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1439 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1439 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1440 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1440 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1440 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1441 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1441 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1441 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1442 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1442 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1442 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1443 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1443 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1443 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1444 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1444 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1444 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1445 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1445 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1445 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1446 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1446 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1446 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1447 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1447 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1447 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1448 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1448 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1448 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1449 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1449 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1449 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1450 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1450 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1450 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1451 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1451 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1451 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1452 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1452 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1452 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1453 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1453 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1453 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1454 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1454 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1454 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1455 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1455 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1455 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1456 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1456 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1456 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1457 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1457 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1457 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1458 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1458 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1458 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1459 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1459 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1459 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1460 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1460 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1460 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1461 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1461 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1461 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1462 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1462 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1462 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1463 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1463 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1463 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1464 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1464 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1464 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1465 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1465 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1465 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16HFmode))
     operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
     operands[6] = force_reg (V16HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1466 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1466 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1466 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1467 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1467 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1467 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1468 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1468 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1468 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1469 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1469 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1469 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1470 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1470 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1470 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1471 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1471 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1471 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1472 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1472 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1472 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1473 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1473 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1473 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1474 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1474 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1474 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1475 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1475 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1475 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1476 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1476 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1476 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1477 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1477 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1477 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1478 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1478 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1478 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1479 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1479 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1479 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1480 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1480 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1480 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1481 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1481 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1481 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1482 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1482 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1482 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1483 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1483 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1483 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1484 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1484 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1484 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1485 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1485 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1485 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1486 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1486 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1486 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1487 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1487 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1487 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1488 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1488 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1488 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1489 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1489 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1489 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1490 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1490 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1490 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1491 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1491 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1491 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1492 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1492 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1492 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8HFmode))
     operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
     operands[6] = force_reg (V8HFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1493 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1493 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1493 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1494 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1494 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1494 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1495 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1495 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1495 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1496 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1496 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1496 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1497 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1497 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1497 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1498 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1498 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1498 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1499 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1499 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1499 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1500 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1500 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1500 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1501 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1501 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1501 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1502 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1502 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1502 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1503 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1503 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1503 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1504 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1504 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1504 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1505 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1505 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1505 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1506 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1506 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1506 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1507 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1507 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1507 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1508 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1508 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1508 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1509 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1509 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1509 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1510 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1510 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1510 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1511 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1511 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1511 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1512 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1512 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1512 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1513 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1513 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1513 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1514 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1514 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1514 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1515 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1515 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1515 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1516 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1516 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1516 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1517 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1517 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1517 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1518 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1518 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1518 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1519 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1519 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1519 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V16SFmode))
     operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
     operands[6] = force_reg (V16SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1520 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1520 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1520 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1521 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1521 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1521 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1522 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1522 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1522 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1523 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1523 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1523 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1524 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1524 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1524 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1525 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1525 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1525 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1526 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1526 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1526 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1527 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1527 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1527 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1528 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1528 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1528 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1529 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1529 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1529 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1530 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1530 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1530 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1531 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1531 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1531 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1532 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1532 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1532 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1533 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1533 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1533 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1534 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1534 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1534 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1535 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1535 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1535 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1536 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1536 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1536 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1537 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1537 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1537 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1538 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1538 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1538 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1539 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1539 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1539 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1540 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1540 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1540 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1541 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1541 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1541 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1542 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1542 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1542 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1543 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1543 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1543 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1544 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1544 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1544 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1545 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1545 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1545 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1546 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1546 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1546 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8SFmode))
     operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
     operands[6] = force_reg (V8SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1547 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1547 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1547 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1548 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1548 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1548 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1549 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1549 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1549 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1550 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1550 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1550 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1551 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1551 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1551 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1552 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1552 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1552 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1553 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1553 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1553 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1554 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1554 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1554 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1555 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1555 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1555 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1556 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1556 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1556 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1557 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1557 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1557 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1558 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1558 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1558 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1559 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1559 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1559 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1560 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1560 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1560 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1561 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1561 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1561 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1562 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1562 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1562 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1563 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1563 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1563 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1564 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1564 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1564 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1565 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1565 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1565 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1566 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1566 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1566 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1567 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1567 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1567 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1568 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1568 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1568 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1569 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1569 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1569 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1570 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1570 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1570 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1571 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1571 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1571 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1572 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1572 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1572 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1573 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1573 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1573 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4SFmode))
     operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
     operands[6] = force_reg (V4SFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1574 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1574 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1574 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1575 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1575 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1575 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1576 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1576 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1576 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1577 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1577 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1577 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1578 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1578 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1578 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1579 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1579 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1579 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1580 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1580 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1580 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1581 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1581 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1581 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1582 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1582 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1582 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1583 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1583 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1583 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1584 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1584 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1584 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1585 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1585 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1585 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1586 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1586 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1586 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1587 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1587 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1587 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1588 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1588 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1588 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1589 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1589 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1589 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1590 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1590 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1590 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1591 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1591 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1591 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1592 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1592 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1592 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1593 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1593 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1593 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1594 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1594 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1594 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1595 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1595 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1595 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1596 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1596 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1596 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1597 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1597 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1597 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1598 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1598 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1598 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1599 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1599 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1599 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1600 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1600 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1600 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V8DFmode))
     operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
     operands[6] = force_reg (V8DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1601 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1601 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1601 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1602 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1602 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1602 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1603 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1603 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1603 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1604 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1604 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1604 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1605 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1605 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1605 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1606 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1606 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1606 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1607 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1607 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1607 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1608 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1608 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1608 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1609 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1609 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1609 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1610 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1610 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1610 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1611 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1611 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1611 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1612 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1612 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1612 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1613 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1613 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1613 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1614 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1614 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1614 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1615 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1615 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1615 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1616 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1616 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1616 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1617 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1617 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1617 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1618 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1618 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1618 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1619 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1619 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1619 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1620 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1620 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1620 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1621 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1621 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1621 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1622 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1622 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1622 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1623 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1623 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1623 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1624 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1624 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1624 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1625 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1625 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1625 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1626 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1626 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1626 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1627 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1627 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1627 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V4DFmode))
     operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
     operands[6] = force_reg (V4DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1628 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1628 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1628 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1629 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1629 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1629 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1630 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1630 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1630 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1631 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1631 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1631 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1632 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1632 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1632 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1633 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1633 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1633 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1634 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1634 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1634 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1635 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1635 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1635 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1636 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1636 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1636 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 & reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1637 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1637 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1637 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1638 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1638 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1638 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1639 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1639 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1639 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1640 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1640 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1640 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1641 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1641 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1641 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1642 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1642 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1642 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1643 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1643 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1643 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1644 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1644 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1644 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1645 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1645 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1645 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 | reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1646 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1646 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1646 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1647 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1647 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1647 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1648 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1648 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1648 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1649 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1649 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1649 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1650 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1650 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1650 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1651 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1651 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1651 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1652 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1652 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1652 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  & tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1653 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1653 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1653 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  | tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12270 */
extern rtx_insn *gen_split_1654 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1654 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1654 (sse.md:12270)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12298 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = reg3 ^ reg4;
  reg_mask = tmp1  ^ tmp2;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  if (!register_operand (operands[2], V2DFmode))
     operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
     operands[6] = force_reg (V2DFmode, operands[6]);
  operands[5] = GEN_INT (reg_mask);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1655 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1655 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1655 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1656 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1656 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1656 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1657 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1657 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1657 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1658 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1658 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1658 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1659 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1659 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1659 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1660 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1660 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1660 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1661 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1661 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1661 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1662 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1662 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1662 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1663 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1663 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1663 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1664 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1664 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1664 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1665 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1665 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1665 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1666 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1666 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1666 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1667 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1667 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1667 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1668 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1668 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1668 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1669 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1669 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1669 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1670 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1670 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1670 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1671 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1671 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1671 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1672 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1672 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1672 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1673 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1673 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1673 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1674 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1674 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1674 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1675 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1675 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1675 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1676 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1676 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1676 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1677 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1677 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1677 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1678 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1678 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1678 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1679 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1679 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1679 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1680 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1680 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1680 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1681 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1681 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1681 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[6], V64QImode))
    operands[6] = force_reg (V64QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1682 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1682 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1682 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1683 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1683 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1683 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1684 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1684 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1684 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1685 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1685 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1685 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1686 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1686 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1686 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1687 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1687 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1687 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1688 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1688 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1688 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1689 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1689 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1689 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1690 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1690 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1690 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1691 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1691 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1691 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1692 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1692 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1692 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1693 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1693 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1693 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1694 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1694 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1694 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1695 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1695 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1695 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1696 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1696 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1696 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1697 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1697 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1697 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1698 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1698 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1698 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1699 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1699 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1699 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1700 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1700 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1700 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1701 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1701 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1701 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1702 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1702 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1702 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1703 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1703 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1703 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1704 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1704 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1704 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1705 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1705 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1705 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1706 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1706 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1706 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1707 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1707 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1707 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1708 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1708 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1708 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[6], V32QImode))
    operands[6] = force_reg (V32QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1709 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1709 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1709 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1710 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1710 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1710 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1711 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1711 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1711 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1712 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1712 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1712 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1713 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1713 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1713 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1714 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1714 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1714 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1715 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1715 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1715 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1716 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1716 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1716 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1717 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1717 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1717 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1718 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1718 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1718 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1719 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1719 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1719 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1720 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1720 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1720 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1721 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1721 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1721 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1722 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1722 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1722 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1723 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1723 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1723 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1724 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1724 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1724 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1725 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1725 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1725 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1726 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1726 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1726 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1727 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1727 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1727 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1728 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1728 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1728 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1729 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1729 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1729 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1730 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1730 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1730 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1731 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1731 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1731 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1732 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1732 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1732 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1733 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1733 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1733 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1734 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1734 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1734 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1735 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1735 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1735 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[6], V16QImode))
    operands[6] = force_reg (V16QImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1736 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1736 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1736 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1737 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1737 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1737 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1738 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1738 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1738 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1739 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1739 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1739 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1740 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1740 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1740 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1741 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1741 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1741 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1742 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1742 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1742 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1743 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1743 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1743 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1744 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1744 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1744 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1745 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1745 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1745 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1746 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1746 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1746 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1747 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1747 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1747 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1748 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1748 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1748 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1749 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1749 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1749 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1750 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1750 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1750 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1751 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1751 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1751 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1752 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1752 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1752 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1753 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1753 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1753 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1754 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1754 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1754 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1755 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1755 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1755 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1756 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1756 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1756 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1757 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1757 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1757 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1758 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1758 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1758 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1759 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1759 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1759 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1760 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1760 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1760 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1761 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1761 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1761 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1762 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1762 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1762 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[6], V32HImode))
    operands[6] = force_reg (V32HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1763 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1763 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1763 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1764 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1764 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1764 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1765 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1765 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1765 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1766 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1766 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1766 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1767 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1767 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1767 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1768 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1768 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1768 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1769 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1769 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1769 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1770 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1770 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1770 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1771 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1771 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1771 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1772 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1772 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1772 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1773 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1773 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1773 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1774 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1774 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1774 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1775 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1775 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1775 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1776 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1776 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1776 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1777 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1777 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1777 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1778 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1778 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1778 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1779 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1779 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1779 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1780 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1780 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1780 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1781 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1781 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1781 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1782 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1782 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1782 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1783 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1783 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1783 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1784 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1784 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1784 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1785 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1785 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1785 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1786 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1786 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1786 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1787 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1787 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1787 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1788 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1788 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1788 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1789 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1789 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1789 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[6], V16HImode))
    operands[6] = force_reg (V16HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1790 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1790 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1790 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1791 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1791 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1791 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1792 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1792 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1792 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1793 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1793 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1793 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1794 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1794 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1794 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1795 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1795 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1795 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1796 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1796 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1796 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1797 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1797 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1797 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1798 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1798 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1798 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1799 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1799 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1799 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1800 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1800 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1800 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1801 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1801 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1801 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1802 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1802 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1802 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1803 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1803 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1803 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1804 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1804 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1804 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1805 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1805 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1805 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1806 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1806 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1806 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1807 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1807 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1807 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1808 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1808 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1808 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1809 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1809 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1809 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1810 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1810 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1810 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1811 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1811 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1811 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1812 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1812 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1812 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1813 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1813 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1813 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1814 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1814 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1814 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1815 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1815 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1815 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1816 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1816 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1816 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[6], V8HImode))
    operands[6] = force_reg (V8HImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1817 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1817 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1817 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1818 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1818 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1818 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1819 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1819 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1819 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1820 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1820 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1820 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1821 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1821 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1821 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1822 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1822 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1822 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1823 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1823 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1823 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1824 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1824 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1824 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1825 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1825 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1825 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1826 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1826 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1826 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1827 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1827 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1827 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1828 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1828 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1828 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1829 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1829 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1829 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1830 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1830 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1830 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1831 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1831 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1831 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1832 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1832 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1832 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1833 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1833 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1833 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1834 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1834 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1834 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1835 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1835 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1835 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1836 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1836 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1836 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1837 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1837 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1837 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1838 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1838 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1838 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1839 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1839 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1839 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1840 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1840 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1840 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1841 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1841 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1841 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1842 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1842 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1842 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1843 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1843 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1843 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[6], V16SImode))
    operands[6] = force_reg (V16SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1844 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1844 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1844 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1845 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1845 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1845 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1846 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1846 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1846 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1847 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1847 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1847 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1848 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1848 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1848 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1849 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1849 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1849 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1850 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1850 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1850 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1851 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1851 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1851 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1852 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1852 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1852 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1853 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1853 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1853 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1854 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1854 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1854 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1855 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1855 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1855 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1856 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1856 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1856 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1857 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1857 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1857 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1858 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1858 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1858 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1859 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1859 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1859 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1860 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1860 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1860 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1861 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1861 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1861 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1862 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1862 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1862 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1863 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1863 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1863 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1864 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1864 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1864 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1865 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1865 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1865 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1866 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1866 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1866 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1867 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1867 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1867 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1868 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1868 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1868 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1869 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1869 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1869 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1870 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1870 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1870 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[6], V8SImode))
    operands[6] = force_reg (V8SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1871 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1871 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1871 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1872 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1872 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1872 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1873 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1873 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1873 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1874 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1874 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1874 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1875 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1875 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1875 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1876 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1876 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1876 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1877 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1877 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1877 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1878 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1878 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1878 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1879 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1879 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1879 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1880 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1880 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1880 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1881 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1881 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1881 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1882 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1882 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1882 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1883 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1883 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1883 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1884 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1884 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1884 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1885 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1885 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1885 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1886 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1886 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1886 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1887 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1887 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1887 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1888 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1888 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1888 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1889 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1889 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1889 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1890 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1890 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1890 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1891 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1891 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1891 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1892 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1892 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1892 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1893 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1893 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1893 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1894 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1894 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1894 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1895 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1895 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1895 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1896 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1896 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1896 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1897 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1897 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1897 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[6], V4SImode))
    operands[6] = force_reg (V4SImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1898 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1898 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1898 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1899 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1899 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1899 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1900 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1900 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1900 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1901 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1901 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1901 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1902 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1902 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1902 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1903 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1903 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1903 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1904 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1904 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1904 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1905 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1905 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1905 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1906 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1906 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1906 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1907 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1907 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1907 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1908 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1908 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1908 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1909 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1909 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1909 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1910 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1910 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1910 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1911 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1911 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1911 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1912 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1912 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1912 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1913 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1913 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1913 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1914 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1914 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1914 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1915 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1915 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1915 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1916 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1916 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1916 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1917 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1917 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1917 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1918 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1918 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1918 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1919 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1919 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1919 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1920 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1920 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1920 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1921 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1921 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1921 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1922 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1922 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1922 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1923 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1923 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1923 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1924 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1924 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1924 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[6], V8DImode))
    operands[6] = force_reg (V8DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1925 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1925 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1925 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1926 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1926 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1926 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1927 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1927 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1927 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1928 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1928 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1928 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1929 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1929 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1929 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1930 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1930 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1930 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1931 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1931 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1931 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1932 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1932 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1932 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1933 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1933 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1933 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1934 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1934 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1934 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1935 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1935 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1935 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1936 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1936 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1936 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1937 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1937 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1937 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1938 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1938 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1938 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1939 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1939 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1939 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1940 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1940 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1940 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1941 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1941 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1941 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1942 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1942 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1942 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1943 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1943 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1943 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1944 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1944 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1944 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1945 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1945 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1945 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1946 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1946 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1946 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1947 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1947 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1947 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1948 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1948 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1948 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1949 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1949 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1949 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1950 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1950 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1950 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1951 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1951 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1951 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[6], V4DImode))
    operands[6] = force_reg (V4DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1952 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1952 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1952 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1953 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1953 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1953 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1954 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1954 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1954 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1955 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1955 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1955 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1956 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1956 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1956 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1957 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1957 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1957 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1958 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1958 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1958 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1959 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1959 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1959 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1960 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1960 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1960 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1961 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1961 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1961 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1962 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1962 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1962 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1963 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1963 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1963 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1964 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1964 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1964 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1965 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1965 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1965 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1966 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1966 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1966 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1967 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1967 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1967 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1968 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1968 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1968 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1969 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1969 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1969 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1970 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1970 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1970 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1971 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1971 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1971 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1972 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1972 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1972 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1973 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1973 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1973 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1974 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1974 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1974 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1975 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1975 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1975 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1976 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1976 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1976 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1977 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1977 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1977 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1978 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1978 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1978 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[6], V2DImode))
    operands[6] = force_reg (V2DImode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1979 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1979 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1979 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1980 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1980 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1980 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1981 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1981 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1981 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1982 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1982 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1982 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1983 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1983 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1983 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1984 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1984 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1984 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1985 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1985 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1985 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1986 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1986 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1986 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1987 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1987 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1987 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1988 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1988 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1988 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1989 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1989 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1989 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1990 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1990 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1990 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1991 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1991 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1991 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1992 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1992 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1992 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1993 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1993 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1993 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1994 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1994 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1994 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1995 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1995 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1995 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1996 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1996 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1996 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1997 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1997 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1997 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1998 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1998 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1998 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_1999 (rtx_insn *, rtx *);
rtx_insn *
gen_split_1999 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_1999 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2000 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2000 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2000 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2001 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2001 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2001 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2002 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2002 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2002 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2003 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2003 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2003 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2004 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2004 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2004 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2005 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2005 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2005 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[6], V32HFmode))
    operands[6] = force_reg (V32HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2006 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2006 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2006 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2007 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2007 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2007 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2008 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2008 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2008 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2009 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2009 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2009 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2010 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2010 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2010 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2011 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2011 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2011 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2012 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2012 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2012 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2013 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2013 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2013 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2014 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2014 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2014 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2015 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2015 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2015 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2016 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2016 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2016 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2017 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2017 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2017 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2018 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2018 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2018 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2019 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2019 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2019 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2020 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2020 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2020 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2021 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2021 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2021 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2022 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2022 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2022 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2023 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2023 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2023 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2024 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2024 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2024 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2025 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2025 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2025 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2026 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2026 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2026 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2027 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2027 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2027 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2028 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2028 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2028 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2029 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2029 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2029 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2030 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2030 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2030 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2031 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2031 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2031 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2032 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2032 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2032 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[6], V16HFmode))
    operands[6] = force_reg (V16HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2033 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2033 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2033 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2034 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2034 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2034 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2035 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2035 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2035 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2036 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2036 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2036 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2037 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2037 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2037 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2038 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2038 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2038 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2039 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2039 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2039 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2040 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2040 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2040 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2041 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2041 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2041 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2042 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2042 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2042 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2043 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2043 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2043 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2044 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2044 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2044 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2045 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2045 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2045 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2046 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2046 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2046 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2047 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2047 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2047 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2048 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2048 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2048 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2049 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2049 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2049 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2050 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2050 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2050 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2051 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2051 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2051 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2052 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2052 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2052 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2053 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2053 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2053 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2054 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2054 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2054 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2055 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2055 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2055 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2056 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2056 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2056 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2057 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2057 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2057 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2058 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2058 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2058 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2059 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2059 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2059 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[6], V8HFmode))
    operands[6] = force_reg (V8HFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2060 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2060 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2060 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2061 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2061 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2061 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2062 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2062 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2062 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2063 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2063 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2063 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2064 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2064 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2064 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2065 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2065 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2065 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2066 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2066 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2066 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2067 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2067 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2067 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2068 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2068 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2068 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2069 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2069 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2069 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2070 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2070 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2070 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2071 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2071 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2071 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2072 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2072 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2072 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2073 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2073 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2073 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2074 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2074 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2074 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2075 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2075 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2075 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2076 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2076 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2076 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2077 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2077 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2077 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2078 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2078 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2078 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2079 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2079 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2079 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2080 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2080 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2080 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2081 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2081 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2081 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2082 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2082 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2082 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2083 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2083 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2083 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2084 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2084 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2084 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2085 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2085 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2085 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2086 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2086 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2086 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[6], V16SFmode))
    operands[6] = force_reg (V16SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2087 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2087 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2087 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2088 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2088 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2088 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2089 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2089 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2089 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2090 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2090 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2090 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2091 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2091 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2091 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2092 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2092 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2092 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2093 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2093 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2093 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2094 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2094 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2094 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2095 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2095 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2095 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2096 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2096 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2096 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2097 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2097 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2097 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2098 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2098 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2098 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2099 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2099 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2099 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2100 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2100 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2100 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2101 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2101 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2101 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2102 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2102 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2102 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2103 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2103 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2103 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2104 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2104 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2104 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2105 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2105 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2105 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2106 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2106 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2106 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2107 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2107 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2107 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2108 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2108 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2108 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2109 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2109 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2109 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2110 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2110 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2110 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2111 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2111 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2111 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2112 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2112 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2112 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2113 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2113 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2113 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[6], V8SFmode))
    operands[6] = force_reg (V8SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2114 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2114 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2114 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2115 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2115 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2115 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2116 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2116 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2116 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2117 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2117 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2117 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2118 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2118 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2118 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2119 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2119 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2119 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2120 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2120 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2120 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2121 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2121 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2121 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2122 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2122 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2122 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2123 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2123 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2123 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2124 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2124 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2124 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2125 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2125 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2125 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2126 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2126 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2126 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2127 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2127 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2127 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2128 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2128 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2128 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2129 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2129 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2129 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2130 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2130 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2130 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2131 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2131 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2131 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2132 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2132 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2132 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2133 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2133 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2133 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2134 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2134 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2134 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2135 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2135 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2135 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2136 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2136 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2136 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2137 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2137 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2137 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2138 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2138 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2138 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2139 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2139 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2139 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2140 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2140 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2140 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[6], V4SFmode))
    operands[6] = force_reg (V4SFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2141 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2141 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2141 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2142 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2142 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2142 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2143 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2143 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2143 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2144 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2144 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2144 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2145 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2145 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2145 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2146 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2146 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2146 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2147 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2147 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2147 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2148 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2148 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2148 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2149 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2149 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2149 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2150 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2150 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2150 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2151 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2151 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2151 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2152 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2152 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2152 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2153 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2153 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2153 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2154 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2154 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2154 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2155 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2155 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2155 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2156 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2156 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2156 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2157 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2157 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2157 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2158 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2158 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2158 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2159 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2159 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2159 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2160 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2160 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2160 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2161 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2161 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2161 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2162 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2162 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2162 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2163 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2163 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2163 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2164 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2164 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2164 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2165 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2165 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2165 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2166 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2166 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2166 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2167 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2167 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2167 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[6], V8DFmode))
    operands[6] = force_reg (V8DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2168 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2168 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2168 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2169 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2169 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2169 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2170 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2170 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2170 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2171 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2171 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2171 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2172 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2172 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2172 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2173 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2173 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2173 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2174 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2174 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2174 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2175 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2175 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2175 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2176 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2176 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2176 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2177 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2177 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2177 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2178 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2178 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2178 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2179 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2179 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2179 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2180 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2180 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2180 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2181 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2181 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2181 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2182 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2182 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2182 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2183 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2183 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2183 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2184 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2184 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2184 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2185 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2185 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2185 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2186 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2186 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2186 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2187 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2187 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2187 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2188 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2188 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2188 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2189 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2189 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2189 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2190 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2190 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2190 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2191 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2191 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2191 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2192 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2192 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2192 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2193 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2193 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2193 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2194 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2194 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2194 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[6], V4DFmode))
    operands[6] = force_reg (V4DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2195 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2195 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2195 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2196 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2196 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2196 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2197 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2197 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2197 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2198 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2198 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2198 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2199 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2199 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2199 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2200 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2200 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2200 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2201 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2201 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2201 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2202 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2202 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2202 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2203 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2203 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2203 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 & reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2204 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2204 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2204 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2205 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2205 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2205 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2206 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2206 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2206 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2207 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2207 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2207 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2208 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2208 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2208 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2209 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2209 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2209 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2210 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2210 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2210 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2211 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2211 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2211 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2212 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2212 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2212 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 | reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2213 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2213 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2213 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2214 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2214 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2214 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2215 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2215 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2215 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 & reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2216 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2216 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2216 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2217 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2217 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2217 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2218 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2218 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2218 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 | reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2219 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2219 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2219 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 & reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2220 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2220 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2220 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 | reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12354 */
extern rtx_insn *gen_split_2221 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2221 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx operand6;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2221 (sse.md:12354)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12382 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg6, reg2, reg1, imm8.  */
  int reg6 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg3 = 0;
  int reg4 = 0;
  int reg_mask, tmp1, tmp2;
  if (rtx_equal_p (STRIP_UNARY (operands[1]),
		   STRIP_UNARY (operands[4])))
    {
      reg4 = reg1;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[2]),
		       STRIP_UNARY (operands[4])))
    {
      reg4 = reg2;
      reg3 = reg6;
      operands[6] = operands[3];
    }
  else if (rtx_equal_p (STRIP_UNARY (operands[1]),
			STRIP_UNARY (operands[3])))
    {
      reg4 = reg6;
      reg3 = reg1;
      operands[6] = operands[4];
    }
  else
    {
      reg4 = reg6;
      reg3 = reg2;
      operands[6] = operands[4];
    }

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;
  reg4 = UNARY_P (operands[4]) ? ~reg4 : reg4;

  tmp1 = reg1 ^ reg2;
  tmp2 = tmp1 ^ reg3;
  reg_mask = tmp2 ^ reg4;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[6] = STRIP_UNARY (operands[6]);
  operands[5] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[6], V2DFmode))
    operands[6] = force_reg (V2DFmode, operands[6]);

}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  operand6 = operands[6];
  (void) operand6;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand6,
		operand2,
		operand1,
		operand5),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2222 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2222 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2222 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[3], V64QImode))
    operands[3] = force_reg (V64QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2223 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2223 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2223 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[3], V64QImode))
    operands[3] = force_reg (V64QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2224 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2224 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2224 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[3], V64QImode))
    operands[3] = force_reg (V64QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2225 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2225 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2225 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[3], V64QImode))
    operands[3] = force_reg (V64QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2226 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2226 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2226 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[3], V64QImode))
    operands[3] = force_reg (V64QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2227 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2227 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2227 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[3], V64QImode))
    operands[3] = force_reg (V64QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2228 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2228 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2228 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[3], V64QImode))
    operands[3] = force_reg (V64QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2229 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2229 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2229 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[3], V64QImode))
    operands[3] = force_reg (V64QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2230 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2230 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2230 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V64QImode))
    operands[2] = force_reg (V64QImode, operands[2]);
  if (!register_operand (operands[3], V64QImode))
    operands[3] = force_reg (V64QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2231 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2231 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2231 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[3], V32QImode))
    operands[3] = force_reg (V32QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2232 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2232 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2232 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[3], V32QImode))
    operands[3] = force_reg (V32QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2233 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2233 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2233 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[3], V32QImode))
    operands[3] = force_reg (V32QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2234 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2234 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2234 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[3], V32QImode))
    operands[3] = force_reg (V32QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2235 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2235 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2235 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[3], V32QImode))
    operands[3] = force_reg (V32QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2236 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2236 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2236 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[3], V32QImode))
    operands[3] = force_reg (V32QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2237 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2237 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2237 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[3], V32QImode))
    operands[3] = force_reg (V32QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2238 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2238 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2238 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[3], V32QImode))
    operands[3] = force_reg (V32QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2239 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2239 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2239 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32QImode))
    operands[2] = force_reg (V32QImode, operands[2]);
  if (!register_operand (operands[3], V32QImode))
    operands[3] = force_reg (V32QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2240 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2240 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2240 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[3], V16QImode))
    operands[3] = force_reg (V16QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2241 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2241 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2241 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[3], V16QImode))
    operands[3] = force_reg (V16QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2242 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2242 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2242 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[3], V16QImode))
    operands[3] = force_reg (V16QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2243 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2243 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2243 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[3], V16QImode))
    operands[3] = force_reg (V16QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2244 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2244 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2244 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[3], V16QImode))
    operands[3] = force_reg (V16QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2245 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2245 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2245 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[3], V16QImode))
    operands[3] = force_reg (V16QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2246 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2246 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2246 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[3], V16QImode))
    operands[3] = force_reg (V16QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2247 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2247 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2247 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[3], V16QImode))
    operands[3] = force_reg (V16QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2248 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2248 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2248 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16QImode))
    operands[2] = force_reg (V16QImode, operands[2]);
  if (!register_operand (operands[3], V16QImode))
    operands[3] = force_reg (V16QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2249 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2249 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2249 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[3], V32HImode))
    operands[3] = force_reg (V32HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2250 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2250 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2250 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[3], V32HImode))
    operands[3] = force_reg (V32HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2251 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2251 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2251 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[3], V32HImode))
    operands[3] = force_reg (V32HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2252 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2252 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2252 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[3], V32HImode))
    operands[3] = force_reg (V32HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2253 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2253 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2253 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[3], V32HImode))
    operands[3] = force_reg (V32HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2254 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2254 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2254 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[3], V32HImode))
    operands[3] = force_reg (V32HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2255 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2255 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2255 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[3], V32HImode))
    operands[3] = force_reg (V32HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2256 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2256 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2256 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[3], V32HImode))
    operands[3] = force_reg (V32HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2257 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2257 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2257 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HImode))
    operands[2] = force_reg (V32HImode, operands[2]);
  if (!register_operand (operands[3], V32HImode))
    operands[3] = force_reg (V32HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2258 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2258 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2258 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[3], V16HImode))
    operands[3] = force_reg (V16HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2259 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2259 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2259 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[3], V16HImode))
    operands[3] = force_reg (V16HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2260 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2260 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2260 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[3], V16HImode))
    operands[3] = force_reg (V16HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2261 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2261 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2261 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[3], V16HImode))
    operands[3] = force_reg (V16HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2262 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2262 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2262 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[3], V16HImode))
    operands[3] = force_reg (V16HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2263 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2263 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2263 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[3], V16HImode))
    operands[3] = force_reg (V16HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2264 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2264 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2264 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[3], V16HImode))
    operands[3] = force_reg (V16HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2265 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2265 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2265 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[3], V16HImode))
    operands[3] = force_reg (V16HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2266 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2266 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2266 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HImode))
    operands[2] = force_reg (V16HImode, operands[2]);
  if (!register_operand (operands[3], V16HImode))
    operands[3] = force_reg (V16HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2267 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2267 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2267 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[3], V8HImode))
    operands[3] = force_reg (V8HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2268 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2268 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2268 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[3], V8HImode))
    operands[3] = force_reg (V8HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2269 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2269 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2269 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[3], V8HImode))
    operands[3] = force_reg (V8HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2270 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2270 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2270 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[3], V8HImode))
    operands[3] = force_reg (V8HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2271 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2271 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2271 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[3], V8HImode))
    operands[3] = force_reg (V8HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2272 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2272 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2272 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[3], V8HImode))
    operands[3] = force_reg (V8HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2273 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2273 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2273 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[3], V8HImode))
    operands[3] = force_reg (V8HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2274 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2274 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2274 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[3], V8HImode))
    operands[3] = force_reg (V8HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2275 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2275 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2275 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HImode))
    operands[2] = force_reg (V8HImode, operands[2]);
  if (!register_operand (operands[3], V8HImode))
    operands[3] = force_reg (V8HImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2276 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2276 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2276 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[3], V16SImode))
    operands[3] = force_reg (V16SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2277 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2277 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2277 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[3], V16SImode))
    operands[3] = force_reg (V16SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2278 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2278 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2278 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[3], V16SImode))
    operands[3] = force_reg (V16SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2279 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2279 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2279 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[3], V16SImode))
    operands[3] = force_reg (V16SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2280 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2280 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2280 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[3], V16SImode))
    operands[3] = force_reg (V16SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2281 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2281 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2281 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[3], V16SImode))
    operands[3] = force_reg (V16SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2282 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2282 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2282 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[3], V16SImode))
    operands[3] = force_reg (V16SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2283 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2283 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2283 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[3], V16SImode))
    operands[3] = force_reg (V16SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2284 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2284 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2284 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SImode))
    operands[2] = force_reg (V16SImode, operands[2]);
  if (!register_operand (operands[3], V16SImode))
    operands[3] = force_reg (V16SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2285 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2285 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2285 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[3], V8SImode))
    operands[3] = force_reg (V8SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2286 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2286 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2286 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[3], V8SImode))
    operands[3] = force_reg (V8SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2287 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2287 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2287 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[3], V8SImode))
    operands[3] = force_reg (V8SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2288 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2288 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2288 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[3], V8SImode))
    operands[3] = force_reg (V8SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2289 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2289 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2289 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[3], V8SImode))
    operands[3] = force_reg (V8SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2290 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2290 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2290 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[3], V8SImode))
    operands[3] = force_reg (V8SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2291 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2291 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2291 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[3], V8SImode))
    operands[3] = force_reg (V8SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2292 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2292 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2292 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[3], V8SImode))
    operands[3] = force_reg (V8SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2293 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2293 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2293 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SImode))
    operands[2] = force_reg (V8SImode, operands[2]);
  if (!register_operand (operands[3], V8SImode))
    operands[3] = force_reg (V8SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2294 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2294 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2294 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[3], V4SImode))
    operands[3] = force_reg (V4SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2295 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2295 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2295 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[3], V4SImode))
    operands[3] = force_reg (V4SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2296 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2296 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2296 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[3], V4SImode))
    operands[3] = force_reg (V4SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2297 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2297 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2297 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[3], V4SImode))
    operands[3] = force_reg (V4SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2298 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2298 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2298 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[3], V4SImode))
    operands[3] = force_reg (V4SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2299 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2299 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2299 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[3], V4SImode))
    operands[3] = force_reg (V4SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2300 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2300 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2300 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[3], V4SImode))
    operands[3] = force_reg (V4SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2301 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2301 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2301 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[3], V4SImode))
    operands[3] = force_reg (V4SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2302 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2302 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2302 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SImode))
    operands[2] = force_reg (V4SImode, operands[2]);
  if (!register_operand (operands[3], V4SImode))
    operands[3] = force_reg (V4SImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2303 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2303 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2303 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[3], V8DImode))
    operands[3] = force_reg (V8DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2304 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2304 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2304 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[3], V8DImode))
    operands[3] = force_reg (V8DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2305 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2305 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2305 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[3], V8DImode))
    operands[3] = force_reg (V8DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2306 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2306 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2306 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[3], V8DImode))
    operands[3] = force_reg (V8DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2307 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2307 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2307 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[3], V8DImode))
    operands[3] = force_reg (V8DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2308 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2308 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2308 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[3], V8DImode))
    operands[3] = force_reg (V8DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2309 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2309 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2309 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[3], V8DImode))
    operands[3] = force_reg (V8DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2310 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2310 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2310 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[3], V8DImode))
    operands[3] = force_reg (V8DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2311 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2311 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2311 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DImode))
    operands[2] = force_reg (V8DImode, operands[2]);
  if (!register_operand (operands[3], V8DImode))
    operands[3] = force_reg (V8DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2312 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2312 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2312 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[3], V4DImode))
    operands[3] = force_reg (V4DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2313 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2313 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2313 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[3], V4DImode))
    operands[3] = force_reg (V4DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2314 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2314 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2314 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[3], V4DImode))
    operands[3] = force_reg (V4DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2315 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2315 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2315 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[3], V4DImode))
    operands[3] = force_reg (V4DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2316 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2316 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2316 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[3], V4DImode))
    operands[3] = force_reg (V4DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2317 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2317 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2317 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[3], V4DImode))
    operands[3] = force_reg (V4DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2318 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2318 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2318 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[3], V4DImode))
    operands[3] = force_reg (V4DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2319 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2319 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2319 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[3], V4DImode))
    operands[3] = force_reg (V4DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2320 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2320 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2320 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DImode))
    operands[2] = force_reg (V4DImode, operands[2]);
  if (!register_operand (operands[3], V4DImode))
    operands[3] = force_reg (V4DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2321 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2321 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2321 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[3], V2DImode))
    operands[3] = force_reg (V2DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2322 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2322 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2322 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[3], V2DImode))
    operands[3] = force_reg (V2DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2323 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2323 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2323 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[3], V2DImode))
    operands[3] = force_reg (V2DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2324 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2324 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2324 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[3], V2DImode))
    operands[3] = force_reg (V2DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2325 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2325 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2325 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[3], V2DImode))
    operands[3] = force_reg (V2DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2326 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2326 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2326 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[3], V2DImode))
    operands[3] = force_reg (V2DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2327 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2327 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2327 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[3], V2DImode))
    operands[3] = force_reg (V2DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2328 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2328 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2328 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[3], V2DImode))
    operands[3] = force_reg (V2DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2329 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2329 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2329 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DImode))
    operands[2] = force_reg (V2DImode, operands[2]);
  if (!register_operand (operands[3], V2DImode))
    operands[3] = force_reg (V2DImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2330 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2330 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2330 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[3], V32HFmode))
    operands[3] = force_reg (V32HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2331 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2331 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2331 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[3], V32HFmode))
    operands[3] = force_reg (V32HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2332 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2332 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2332 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[3], V32HFmode))
    operands[3] = force_reg (V32HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2333 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2333 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2333 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[3], V32HFmode))
    operands[3] = force_reg (V32HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2334 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2334 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2334 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[3], V32HFmode))
    operands[3] = force_reg (V32HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2335 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2335 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2335 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[3], V32HFmode))
    operands[3] = force_reg (V32HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2336 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2336 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2336 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[3], V32HFmode))
    operands[3] = force_reg (V32HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2337 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2337 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2337 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[3], V32HFmode))
    operands[3] = force_reg (V32HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2338 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2338 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2338 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V32HFmode))
    operands[2] = force_reg (V32HFmode, operands[2]);
  if (!register_operand (operands[3], V32HFmode))
    operands[3] = force_reg (V32HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2339 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2339 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2339 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[3], V16HFmode))
    operands[3] = force_reg (V16HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2340 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2340 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2340 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[3], V16HFmode))
    operands[3] = force_reg (V16HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2341 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2341 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2341 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[3], V16HFmode))
    operands[3] = force_reg (V16HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2342 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2342 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2342 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[3], V16HFmode))
    operands[3] = force_reg (V16HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2343 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2343 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2343 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[3], V16HFmode))
    operands[3] = force_reg (V16HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2344 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2344 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2344 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[3], V16HFmode))
    operands[3] = force_reg (V16HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2345 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2345 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2345 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[3], V16HFmode))
    operands[3] = force_reg (V16HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2346 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2346 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2346 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[3], V16HFmode))
    operands[3] = force_reg (V16HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2347 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2347 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2347 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16HFmode))
    operands[2] = force_reg (V16HFmode, operands[2]);
  if (!register_operand (operands[3], V16HFmode))
    operands[3] = force_reg (V16HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2348 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2348 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2348 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[3], V8HFmode))
    operands[3] = force_reg (V8HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2349 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2349 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2349 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[3], V8HFmode))
    operands[3] = force_reg (V8HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2350 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2350 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2350 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[3], V8HFmode))
    operands[3] = force_reg (V8HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2351 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2351 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2351 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[3], V8HFmode))
    operands[3] = force_reg (V8HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2352 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2352 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2352 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[3], V8HFmode))
    operands[3] = force_reg (V8HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2353 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2353 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2353 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[3], V8HFmode))
    operands[3] = force_reg (V8HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2354 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2354 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2354 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[3], V8HFmode))
    operands[3] = force_reg (V8HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2355 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2355 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2355 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[3], V8HFmode))
    operands[3] = force_reg (V8HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2356 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2356 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2356 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8HFmode))
    operands[2] = force_reg (V8HFmode, operands[2]);
  if (!register_operand (operands[3], V8HFmode))
    operands[3] = force_reg (V8HFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2357 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2357 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2357 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[3], V16SFmode))
    operands[3] = force_reg (V16SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2358 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2358 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2358 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[3], V16SFmode))
    operands[3] = force_reg (V16SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2359 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2359 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2359 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[3], V16SFmode))
    operands[3] = force_reg (V16SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2360 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2360 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2360 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[3], V16SFmode))
    operands[3] = force_reg (V16SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2361 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2361 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2361 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[3], V16SFmode))
    operands[3] = force_reg (V16SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2362 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2362 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2362 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[3], V16SFmode))
    operands[3] = force_reg (V16SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2363 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2363 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2363 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[3], V16SFmode))
    operands[3] = force_reg (V16SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2364 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2364 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2364 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[3], V16SFmode))
    operands[3] = force_reg (V16SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2365 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2365 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2365 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V16SFmode))
    operands[2] = force_reg (V16SFmode, operands[2]);
  if (!register_operand (operands[3], V16SFmode))
    operands[3] = force_reg (V16SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2366 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2366 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2366 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[3], V8SFmode))
    operands[3] = force_reg (V8SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2367 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2367 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2367 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[3], V8SFmode))
    operands[3] = force_reg (V8SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2368 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2368 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2368 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[3], V8SFmode))
    operands[3] = force_reg (V8SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2369 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2369 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2369 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[3], V8SFmode))
    operands[3] = force_reg (V8SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2370 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2370 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2370 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[3], V8SFmode))
    operands[3] = force_reg (V8SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2371 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2371 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2371 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[3], V8SFmode))
    operands[3] = force_reg (V8SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2372 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2372 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2372 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[3], V8SFmode))
    operands[3] = force_reg (V8SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2373 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2373 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2373 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[3], V8SFmode))
    operands[3] = force_reg (V8SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2374 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2374 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2374 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8SFmode))
    operands[2] = force_reg (V8SFmode, operands[2]);
  if (!register_operand (operands[3], V8SFmode))
    operands[3] = force_reg (V8SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2375 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2375 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2375 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[3], V4SFmode))
    operands[3] = force_reg (V4SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2376 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2376 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2376 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[3], V4SFmode))
    operands[3] = force_reg (V4SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2377 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2377 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2377 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[3], V4SFmode))
    operands[3] = force_reg (V4SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2378 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2378 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2378 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[3], V4SFmode))
    operands[3] = force_reg (V4SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2379 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2379 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2379 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[3], V4SFmode))
    operands[3] = force_reg (V4SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2380 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2380 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2380 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[3], V4SFmode))
    operands[3] = force_reg (V4SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2381 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2381 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2381 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[3], V4SFmode))
    operands[3] = force_reg (V4SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2382 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2382 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2382 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[3], V4SFmode))
    operands[3] = force_reg (V4SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2383 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2383 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2383 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4SFmode))
    operands[2] = force_reg (V4SFmode, operands[2]);
  if (!register_operand (operands[3], V4SFmode))
    operands[3] = force_reg (V4SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2384 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2384 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2384 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[3], V8DFmode))
    operands[3] = force_reg (V8DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2385 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2385 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2385 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[3], V8DFmode))
    operands[3] = force_reg (V8DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2386 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2386 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2386 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[3], V8DFmode))
    operands[3] = force_reg (V8DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2387 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2387 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2387 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[3], V8DFmode))
    operands[3] = force_reg (V8DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2388 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2388 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2388 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[3], V8DFmode))
    operands[3] = force_reg (V8DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2389 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2389 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2389 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[3], V8DFmode))
    operands[3] = force_reg (V8DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2390 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2390 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2390 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[3], V8DFmode))
    operands[3] = force_reg (V8DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2391 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2391 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2391 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[3], V8DFmode))
    operands[3] = force_reg (V8DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2392 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2392 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2392 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V8DFmode))
    operands[2] = force_reg (V8DFmode, operands[2]);
  if (!register_operand (operands[3], V8DFmode))
    operands[3] = force_reg (V8DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2393 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2393 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2393 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[3], V4DFmode))
    operands[3] = force_reg (V4DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2394 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2394 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2394 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[3], V4DFmode))
    operands[3] = force_reg (V4DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2395 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2395 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2395 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[3], V4DFmode))
    operands[3] = force_reg (V4DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2396 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2396 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2396 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[3], V4DFmode))
    operands[3] = force_reg (V4DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2397 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2397 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2397 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[3], V4DFmode))
    operands[3] = force_reg (V4DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2398 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2398 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2398 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[3], V4DFmode))
    operands[3] = force_reg (V4DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2399 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2399 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2399 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[3], V4DFmode))
    operands[3] = force_reg (V4DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2400 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2400 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2400 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[3], V4DFmode))
    operands[3] = force_reg (V4DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2401 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2401 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2401 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V4DFmode))
    operands[2] = force_reg (V4DFmode, operands[2]);
  if (!register_operand (operands[3], V4DFmode))
    operands[3] = force_reg (V4DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2402 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2402 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2402 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[3], V2DFmode))
    operands[3] = force_reg (V2DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2403 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2403 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2403 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[3], V2DFmode))
    operands[3] = force_reg (V2DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2404 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2404 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2404 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 & reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[3], V2DFmode))
    operands[3] = force_reg (V2DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2405 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2405 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2405 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[3], V2DFmode))
    operands[3] = force_reg (V2DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2406 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2406 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2406 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[3], V2DFmode))
    operands[3] = force_reg (V2DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2407 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2407 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2407 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 | reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[3], V2DFmode))
    operands[3] = force_reg (V2DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2408 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2408 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2408 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 & reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[3], V2DFmode))
    operands[3] = force_reg (V2DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2409 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2409 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2409 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 | reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[3], V2DFmode))
    operands[3] = force_reg (V2DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12439 */
extern rtx_insn *gen_split_2410 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2410 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2410 (sse.md:12439)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12457 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* VPTERNLOGD reg3, reg2, reg1, imm8.  */
  int reg3 = 0xF0;
  int reg2 = 0xCC;
  int reg1 = 0xAA;
  int reg_mask, tmp1;

  reg1 = UNARY_P (operands[1]) ? ~reg1 : reg1;
  reg2 = UNARY_P (operands[2]) ? ~reg2 : reg2;
  reg3 = UNARY_P (operands[3]) ? ~reg3 : reg3;

  tmp1 = reg1 ^ reg2;
  reg_mask = tmp1 ^ reg3;
  reg_mask &= 0xFF;

  operands[1] = STRIP_UNARY (operands[1]);
  operands[2] = STRIP_UNARY (operands[2]);
  operands[3] = STRIP_UNARY (operands[3]);
  operands[4] = GEN_INT (reg_mask);
  if (!register_operand (operands[2], V2DFmode))
    operands[2] = force_reg (V2DFmode, operands[2]);
  if (!register_operand (operands[3], V2DFmode))
    operands[3] = force_reg (V2DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand3,
		operand2,
		operand1,
		operand4),
	150)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12563 */
rtx
gen_avx512f_shufps512_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12571 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  emit_insn (gen_avx512f_shufps512_1_mask (operands[0], operands[1], operands[2],
					  GEN_INT ((mask >> 0) & 3),
					  GEN_INT ((mask >> 2) & 3),
					  GEN_INT (((mask >> 4) & 3) + 16),
					  GEN_INT (((mask >> 6) & 3) + 16),
					  GEN_INT (((mask >> 0) & 3) + 4),
					  GEN_INT (((mask >> 2) & 3) + 4),
					  GEN_INT (((mask >> 4) & 3) + 20),
					  GEN_INT (((mask >> 6) & 3) + 20),
					  GEN_INT (((mask >> 0) & 3) + 8),
					  GEN_INT (((mask >> 2) & 3) + 8),
					  GEN_INT (((mask >> 4) & 3) + 24),
					  GEN_INT (((mask >> 6) & 3) + 24),
					  GEN_INT (((mask >> 0) & 3) + 12),
					  GEN_INT (((mask >> 2) & 3) + 12),
					  GEN_INT (((mask >> 4) & 3) + 28),
					  GEN_INT (((mask >> 6) & 3) + 28),
					  operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12595 */
rtx
gen_avx512f_fixupimmv16sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_fixupimmv16sf_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	operands[4], CONST0_RTX (V16SFmode), operands[5]
	));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12595 */
rtx
gen_avx512f_fixupimmv16sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5,
	rtx operand6)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
    operands[6] = operand6;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_fixupimmv16sf_maskz_1_round (
	operands[0], operands[1], operands[2], operands[3],
	operands[4], CONST0_RTX (V16SFmode), operands[5]
	, operands[6]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand6),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12595 */
rtx
gen_avx512vl_fixupimmv8sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_fixupimmv8sf_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	operands[4], CONST0_RTX (V8SFmode), operands[5]
	));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12595 */
rtx
gen_avx512vl_fixupimmv8sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5,
	rtx operand6)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
    operands[6] = operand6;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_fixupimmv8sf_maskz_1_round (
	operands[0], operands[1], operands[2], operands[3],
	operands[4], CONST0_RTX (V8SFmode), operands[5]
	, operands[6]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand6),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12595 */
rtx
gen_avx512vl_fixupimmv4sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_fixupimmv4sf_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	operands[4], CONST0_RTX (V4SFmode), operands[5]
	));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12595 */
rtx
gen_avx512vl_fixupimmv4sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5,
	rtx operand6)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
    operands[6] = operand6;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_fixupimmv4sf_maskz_1_round (
	operands[0], operands[1], operands[2], operands[3],
	operands[4], CONST0_RTX (V4SFmode), operands[5]
	, operands[6]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand6),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12595 */
rtx
gen_avx512f_fixupimmv8df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_fixupimmv8df_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	operands[4], CONST0_RTX (V8DFmode), operands[5]
	));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12595 */
rtx
gen_avx512f_fixupimmv8df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5,
	rtx operand6)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
    operands[6] = operand6;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_fixupimmv8df_maskz_1_round (
	operands[0], operands[1], operands[2], operands[3],
	operands[4], CONST0_RTX (V8DFmode), operands[5]
	, operands[6]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand6),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12595 */
rtx
gen_avx512vl_fixupimmv4df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_fixupimmv4df_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	operands[4], CONST0_RTX (V4DFmode), operands[5]
	));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12595 */
rtx
gen_avx512vl_fixupimmv4df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5,
	rtx operand6)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
    operands[6] = operand6;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_fixupimmv4df_maskz_1_round (
	operands[0], operands[1], operands[2], operands[3],
	operands[4], CONST0_RTX (V4DFmode), operands[5]
	, operands[6]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand6),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12595 */
rtx
gen_avx512vl_fixupimmv2df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_fixupimmv2df_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	operands[4], CONST0_RTX (V2DFmode), operands[5]
	));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12595 */
rtx
gen_avx512vl_fixupimmv2df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5,
	rtx operand6)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
    operands[6] = operand6;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_fixupimmv2df_maskz_1_round (
	operands[0], operands[1], operands[2], operands[3],
	operands[4], CONST0_RTX (V2DFmode), operands[5]
	, operands[6]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand6),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12640 */
rtx
gen_avx512f_sfixupimmv4sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12648 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_sfixupimmv4sf_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	operands[4], CONST0_RTX (V4SFmode), operands[5]
	));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12640 */
rtx
gen_avx512f_sfixupimmv4sf_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5,
	rtx operand6)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
    operands[6] = operand6;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12648 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_sfixupimmv4sf_maskz_1_round (
	operands[0], operands[1], operands[2], operands[3],
	operands[4], CONST0_RTX (V4SFmode), operands[5]
	, operands[6]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand6),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12640 */
rtx
gen_avx512f_sfixupimmv2df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12648 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_sfixupimmv2df_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	operands[4], CONST0_RTX (V2DFmode), operands[5]
	));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12640 */
rtx
gen_avx512f_sfixupimmv2df_maskz_round (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5,
	rtx operand6)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
    operands[6] = operand6;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12648 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_sfixupimmv2df_maskz_1_round (
	operands[0], operands[1], operands[2], operands[3],
	operands[4], CONST0_RTX (V2DFmode), operands[5]
	, operands[6]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, true);
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		operand6),
	162));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12785 */
rtx
gen_avx512f_shufpd512_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12793 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  emit_insn (gen_avx512f_shufpd512_1_mask (operands[0], operands[1], operands[2],
					GEN_INT (mask & 1),
					GEN_INT (mask & 2 ? 9 : 8),
					GEN_INT (mask & 4 ? 3 : 2),
					GEN_INT (mask & 8 ? 11 : 10),
					GEN_INT (mask & 16 ? 5 : 4),
					GEN_INT (mask & 32 ? 13 : 12),
					GEN_INT (mask & 64 ? 7 : 6),
					GEN_INT (mask & 128 ? 15 : 14),
					operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12842 */
rtx
gen_avx_shufpd256 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12848 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  emit_insn (gen_avx_shufpd256_1 (operands[0],
						     operands[1],
						     operands[2],
						     GEN_INT (mask & 1),
						     GEN_INT (mask & 2 ? 5 : 4),
						     GEN_INT (mask & 4 ? 3 : 2),
						     GEN_INT (mask & 8 ? 7 : 6)
						     ));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12842 */
rtx
gen_avx_shufpd256_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12848 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  emit_insn (gen_avx_shufpd256_1_mask (operands[0],
						     operands[1],
						     operands[2],
						     GEN_INT (mask & 1),
						     GEN_INT (mask & 2 ? 5 : 4),
						     GEN_INT (mask & 4 ? 3 : 2),
						     GEN_INT (mask & 8 ? 7 : 6)
						     , operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12887 */
rtx
gen_sse2_shufpd (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12893 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  emit_insn (gen_sse2_shufpd_v2df (operands[0], operands[1],
						      operands[2], GEN_INT (mask & 1),
						      GEN_INT (mask & 2 ? 3 : 2)
						      ));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:12887 */
rtx
gen_sse2_shufpd_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 12893 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  emit_insn (gen_sse2_shufpd_v2df_mask (operands[0], operands[1],
						      operands[2], GEN_INT (mask & 1),
						      GEN_INT (mask & 2 ? 3 : 2)
						      , operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13085 */
extern rtx_insn *gen_split_2411 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2411 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2411 (sse.md:13085)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13092 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address (operands[1], DFmode, 8);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13130 */
extern rtx_insn *gen_split_2412 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2412 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2412 (sse.md:13130)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (DFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13153 */
rtx
gen_sse2_loadhpd_exp (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13161 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx dst = ix86_fixup_binary_operands (UNKNOWN, V2DFmode, operands);

  emit_insn (gen_sse2_loadhpd (dst, operands[1], operands[2]));

  /* Fix up the destination if needed.  */
  if (dst != operands[0])
    emit_move_insn (operands[0], dst);

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V2DFmode,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx))),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13203 */
extern rtx_insn *gen_split_2413 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2413 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2413 (sse.md:13203)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13210 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address (operands[0], DFmode, 8);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13212 */
rtx
gen_sse2_loadlpd_exp (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13220 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx dst = ix86_fixup_binary_operands (UNKNOWN, V2DFmode, operands);

  emit_insn (gen_sse2_loadlpd (dst, operands[1], operands[2]));

  /* Fix up the destination if needed.  */
  if (dst != operands[0])
    emit_move_insn (operands[0], dst);

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V2DFmode,
	operand2,
	gen_rtx_VEC_SELECT (DFmode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13286 */
extern rtx_insn *gen_split_2414 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2414 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2414 (sse.md:13286)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13293 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address (operands[0], DFmode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13431 */
rtx
gen_truncv16siv16qi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V16QImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13431 */
rtx
gen_truncv16siv16hi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V16HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13431 */
rtx
gen_truncv8div8si2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V8SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13431 */
rtx
gen_truncv8div8hi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V8HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13448 */
extern rtx_insn *gen_split_2415 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2415 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2415 (sse.md:13448)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13468 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = lowpart_subreg (V16SImode,
				 force_reg (V32HImode, operands[1]),
				  V32HImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V16HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13472 */
extern rtx_insn *gen_split_2416 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2416 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2416 (sse.md:13472)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13493 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = lowpart_subreg (V16SImode,
				force_reg (V32HImode, operands[1]),
				V32HImode);
  if (MEM_P (operands[0]))
    operands[0] = lowpart_subreg (V16HImode, operands[0], V16HFmode);
  else
    {
      rtx op0 = gen_reg_rtx (V16HImode);
      emit_insn (gen_truncv16siv16hi2 (op0, operands[1]));
      emit_move_insn (operands[0], lowpart_subreg (V16HFmode, op0, V16HImode));
      DONE;
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V16HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13509 */
extern rtx_insn *gen_split_2417 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2417 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2417 (sse.md:13509)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13525 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = lowpart_subreg (V8SImode,
				 force_reg (V16HImode, operands[1]),
				 V16HImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V8HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13529 */
extern rtx_insn *gen_split_2418 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2418 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2418 (sse.md:13529)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13546 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = lowpart_subreg (V8SImode,
				force_reg (V16HImode, operands[1]),
				V16HImode);
  if (MEM_P (operands[0]))
    operands[0] = lowpart_subreg (V8HImode, operands[0], V8HFmode);
  else
    {
      rtx op0 = gen_reg_rtx (V8HImode);
      emit_insn (gen_truncv8siv8hi2 (op0, operands[1]));
      emit_move_insn (operands[0], lowpart_subreg (V8HFmode, op0, V8HImode));
      DONE;
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V8HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13561 */
extern rtx_insn *gen_split_2419 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2419 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2419 (sse.md:13561)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13577 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = lowpart_subreg (V8DImode,
				 force_reg (V16SImode, operands[1]),
				 V16SImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V8SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13595 */
rtx
gen_avx512f_ss_truncatev16siv16qi2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_SS_TRUNCATE (V16QImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13595 */
rtx
gen_avx512f_truncatev16siv16qi2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_TRUNCATE (V16QImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13595 */
rtx
gen_avx512f_us_truncatev16siv16qi2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_US_TRUNCATE (V16QImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13595 */
rtx
gen_avx512f_ss_truncatev16siv16hi2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_SS_TRUNCATE (V16HImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13595 */
rtx
gen_avx512f_truncatev16siv16hi2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_TRUNCATE (V16HImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13595 */
rtx
gen_avx512f_us_truncatev16siv16hi2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_US_TRUNCATE (V16HImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13595 */
rtx
gen_avx512f_ss_truncatev8div8si2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_SS_TRUNCATE (V8SImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13595 */
rtx
gen_avx512f_truncatev8div8si2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_TRUNCATE (V8SImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13595 */
rtx
gen_avx512f_us_truncatev8div8si2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_US_TRUNCATE (V8SImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13595 */
rtx
gen_avx512f_ss_truncatev8div8hi2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_SS_TRUNCATE (V8HImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13595 */
rtx
gen_avx512f_truncatev8div8hi2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_TRUNCATE (V8HImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13595 */
rtx
gen_avx512f_us_truncatev8div8hi2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_US_TRUNCATE (V8HImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13604 */
rtx
gen_truncv32hiv32qi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V32QImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13621 */
extern rtx_insn *gen_split_2420 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2420 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2420 (sse.md:13621)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13649 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = lowpart_subreg (V32HImode,
				 force_reg (V64QImode, operands[1]),
				 V64QImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V32QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13667 */
rtx
gen_avx512bw_ss_truncatev32hiv32qi2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_SS_TRUNCATE (V32QImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13667 */
rtx
gen_avx512bw_truncatev32hiv32qi2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_TRUNCATE (V32QImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13667 */
rtx
gen_avx512bw_us_truncatev32hiv32qi2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_US_TRUNCATE (V32QImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13681 */
rtx
gen_truncv4div4si2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V4SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13681 */
rtx
gen_truncv8siv8hi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V8HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13681 */
rtx
gen_truncv16hiv16qi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V16QImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13698 */
extern rtx_insn *gen_split_2421 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2421 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2421 (sse.md:13698)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13719 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = lowpart_subreg (V16HImode,
				 force_reg (V32QImode, operands[1]),
				 V32QImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V16QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13723 */
extern rtx_insn *gen_split_2422 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2422 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2422 (sse.md:13723)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13737 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = lowpart_subreg (V4DImode,
				 force_reg (V8SImode, operands[1]),
				 V8SImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V4SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13755 */
rtx
gen_avx512vl_ss_truncatev4div4si2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_SS_TRUNCATE (V4SImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13755 */
rtx
gen_avx512vl_truncatev4div4si2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_TRUNCATE (V4SImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13755 */
rtx
gen_avx512vl_us_truncatev4div4si2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_US_TRUNCATE (V4SImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13755 */
rtx
gen_avx512vl_ss_truncatev8siv8hi2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_SS_TRUNCATE (V8HImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13755 */
rtx
gen_avx512vl_truncatev8siv8hi2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_TRUNCATE (V8HImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13755 */
rtx
gen_avx512vl_us_truncatev8siv8hi2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_US_TRUNCATE (V8HImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13755 */
rtx
gen_avx512vl_ss_truncatev16hiv16qi2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_SS_TRUNCATE (V16QImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13755 */
rtx
gen_avx512vl_truncatev16hiv16qi2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_TRUNCATE (V16QImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13755 */
rtx
gen_avx512vl_us_truncatev16hiv16qi2_mask_store (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_US_TRUNCATE (V16QImode,
	operand1),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13774 */
rtx
gen_truncv4div4qi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13779 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0 = gen_reg_rtx (V16QImode);

  emit_insn (gen_avx512vl_truncatev4div4qi2
	     (op0, operands[1], CONST0_RTX (V12QImode)));

  emit_move_insn (operands[0],
		  lowpart_subreg (V4QImode, op0, V16QImode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V4QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13774 */
rtx
gen_truncv2div2qi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13779 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0 = gen_reg_rtx (V16QImode);

  emit_insn (gen_avx512vl_truncatev2div2qi2
	     (op0, operands[1], CONST0_RTX (V14QImode)));

  emit_move_insn (operands[0],
		  lowpart_subreg (V2QImode, op0, V16QImode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V2QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13774 */
rtx
gen_truncv8siv8qi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13779 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0 = gen_reg_rtx (V16QImode);

  emit_insn (gen_avx512vl_truncatev8siv8qi2
	     (op0, operands[1], CONST0_RTX (V8QImode)));

  emit_move_insn (operands[0],
		  lowpart_subreg (V8QImode, op0, V16QImode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V8QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13774 */
rtx
gen_truncv4siv4qi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13779 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0 = gen_reg_rtx (V16QImode);

  emit_insn (gen_avx512vl_truncatev4siv4qi2
	     (op0, operands[1], CONST0_RTX (V12QImode)));

  emit_move_insn (operands[0],
		  lowpart_subreg (V4QImode, op0, V16QImode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V4QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13774 */
rtx
gen_truncv8hiv8qi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13779 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0 = gen_reg_rtx (V16QImode);

  emit_insn (gen_avx512vl_truncatev8hiv8qi2
	     (op0, operands[1], CONST0_RTX (V8QImode)));

  emit_move_insn (operands[0],
		  lowpart_subreg (V8QImode, op0, V16QImode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V8QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13802 */
extern rtx_insn *gen_split_2423 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2423 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2423 (sse.md:13802)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13815 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op1 = gen_reg_rtx (V8QImode);
  operands[1] = lowpart_subreg (V8HImode,
				force_reg (V16QImode, operands[1]),
				V16QImode);
  emit_insn (gen_truncv8hiv8qi2 (op1, operands[1]));
  emit_move_insn (operands[0], lowpart_subreg (DImode, op1, V8QImode));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13836 */
extern rtx_insn *gen_split_2424 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2424 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2424 (sse.md:13836)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V2QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_TRUNCATE (V2QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13836 */
extern rtx_insn *gen_split_2425 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2425 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2425 (sse.md:13836)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V2QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V2QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13836 */
extern rtx_insn *gen_split_2426 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2426 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2426 (sse.md:13836)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13846 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V2QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_TRUNCATE (V2QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13906 */
extern rtx_insn *gen_split_2427 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2427 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2427 (sse.md:13906)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13927 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V2QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2QImode,
	gen_rtx_SS_TRUNCATE (V2QImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13906 */
extern rtx_insn *gen_split_2428 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2428 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2428 (sse.md:13906)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13927 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V2QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2QImode,
	gen_rtx_TRUNCATE (V2QImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13906 */
extern rtx_insn *gen_split_2429 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2429 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2429 (sse.md:13906)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13927 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V2QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2QImode,
	gen_rtx_US_TRUNCATE (V2QImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13940 */
extern rtx_insn *gen_split_2430 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2430 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2430 (sse.md:13940)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13950 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_TRUNCATE (V4QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13940 */
extern rtx_insn *gen_split_2431 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2431 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2431 (sse.md:13940)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13950 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V4QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13940 */
extern rtx_insn *gen_split_2432 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2432 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2432 (sse.md:13940)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13950 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_TRUNCATE (V4QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13940 */
extern rtx_insn *gen_split_2433 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2433 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2433 (sse.md:13940)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13950 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_TRUNCATE (V4QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13940 */
extern rtx_insn *gen_split_2434 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2434 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2434 (sse.md:13940)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13950 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V4QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:13940 */
extern rtx_insn *gen_split_2435 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2435 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2435 (sse.md:13940)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 13950 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_TRUNCATE (V4QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14010 */
extern rtx_insn *gen_split_2436 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2436 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2436 (sse.md:14010)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4QImode,
	gen_rtx_SS_TRUNCATE (V4QImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14010 */
extern rtx_insn *gen_split_2437 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2437 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2437 (sse.md:14010)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4QImode,
	gen_rtx_TRUNCATE (V4QImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14010 */
extern rtx_insn *gen_split_2438 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2438 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2438 (sse.md:14010)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4QImode,
	gen_rtx_US_TRUNCATE (V4QImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14010 */
extern rtx_insn *gen_split_2439 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2439 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2439 (sse.md:14010)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4QImode,
	gen_rtx_SS_TRUNCATE (V4QImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14010 */
extern rtx_insn *gen_split_2440 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2440 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2440 (sse.md:14010)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4QImode,
	gen_rtx_TRUNCATE (V4QImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14010 */
extern rtx_insn *gen_split_2441 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2441 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2441 (sse.md:14010)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4QImode,
	gen_rtx_US_TRUNCATE (V4QImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14048 */
extern rtx_insn *gen_split_2442 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2442 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2442 (sse.md:14048)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14058 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_TRUNCATE (V8QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14048 */
extern rtx_insn *gen_split_2443 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2443 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2443 (sse.md:14048)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14058 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V8QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14048 */
extern rtx_insn *gen_split_2444 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2444 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2444 (sse.md:14048)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14058 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_TRUNCATE (V8QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14048 */
extern rtx_insn *gen_split_2445 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2445 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2445 (sse.md:14048)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14058 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_TRUNCATE (V8QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14048 */
extern rtx_insn *gen_split_2446 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2446 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2446 (sse.md:14048)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14058 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V8QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14048 */
extern rtx_insn *gen_split_2447 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2447 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2447 (sse.md:14048)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14058 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_TRUNCATE (V8QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14118 */
extern rtx_insn *gen_split_2448 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2448 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2448 (sse.md:14118)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14142 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_SS_TRUNCATE (V8QImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14118 */
extern rtx_insn *gen_split_2449 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2449 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2449 (sse.md:14118)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14142 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_TRUNCATE (V8QImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14118 */
extern rtx_insn *gen_split_2450 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2450 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2450 (sse.md:14118)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14142 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_US_TRUNCATE (V8QImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14118 */
extern rtx_insn *gen_split_2451 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2451 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2451 (sse.md:14118)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14142 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_SS_TRUNCATE (V8QImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14118 */
extern rtx_insn *gen_split_2452 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2452 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2452 (sse.md:14118)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14142 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_TRUNCATE (V8QImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14118 */
extern rtx_insn *gen_split_2453 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2453 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2453 (sse.md:14118)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14142 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_US_TRUNCATE (V8QImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14154 */
rtx
gen_truncv4div4hi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14159 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0 = gen_reg_rtx (V8HImode);

  emit_insn (gen_avx512vl_truncatev4div4hi2
	     (op0, operands[1], CONST0_RTX (V4HImode)));

  emit_move_insn (operands[0],
		  lowpart_subreg (V4HImode, op0, V8HImode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V4HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14154 */
rtx
gen_truncv2div2hi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14159 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0 = gen_reg_rtx (V8HImode);

  emit_insn (gen_avx512vl_truncatev2div2hi2
	     (op0, operands[1], CONST0_RTX (V6HImode)));

  emit_move_insn (operands[0],
		  lowpart_subreg (V2HImode, op0, V8HImode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V2HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14154 */
rtx
gen_truncv4siv4hi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14159 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0 = gen_reg_rtx (V8HImode);

  emit_insn (gen_avx512vl_truncatev4siv4hi2
	     (op0, operands[1], CONST0_RTX (V4HImode)));

  emit_move_insn (operands[0],
		  lowpart_subreg (V4HImode, op0, V8HImode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V4HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14182 */
extern rtx_insn *gen_split_2454 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2454 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2454 (sse.md:14182)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14195 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op1 = gen_reg_rtx (V4HImode);
  operands[1] = lowpart_subreg (V4SImode,
				force_reg (V16QImode, operands[1]),
				V16QImode);
  emit_insn (gen_truncv4siv4hi2 (op1, operands[1]));
  emit_move_insn (operands[0], lowpart_subreg (DImode, op1, V4HImode));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14216 */
extern rtx_insn *gen_split_2455 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2455 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2455 (sse.md:14216)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14226 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_TRUNCATE (V4HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14216 */
extern rtx_insn *gen_split_2456 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2456 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2456 (sse.md:14216)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14226 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V4HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14216 */
extern rtx_insn *gen_split_2457 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2457 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2457 (sse.md:14216)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14226 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_TRUNCATE (V4HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14216 */
extern rtx_insn *gen_split_2458 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2458 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2458 (sse.md:14216)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14226 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_TRUNCATE (V4HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14216 */
extern rtx_insn *gen_split_2459 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2459 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2459 (sse.md:14216)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14226 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V4HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14216 */
extern rtx_insn *gen_split_2460 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2460 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2460 (sse.md:14216)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14226 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_TRUNCATE (V4HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14282 */
extern rtx_insn *gen_split_2461 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2461 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2461 (sse.md:14282)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14304 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4HImode,
	gen_rtx_SS_TRUNCATE (V4HImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14282 */
extern rtx_insn *gen_split_2462 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2462 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2462 (sse.md:14282)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14304 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4HImode,
	gen_rtx_TRUNCATE (V4HImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14282 */
extern rtx_insn *gen_split_2463 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2463 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2463 (sse.md:14282)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14304 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4HImode,
	gen_rtx_US_TRUNCATE (V4HImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14282 */
extern rtx_insn *gen_split_2464 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2464 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2464 (sse.md:14282)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14304 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4HImode,
	gen_rtx_SS_TRUNCATE (V4HImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14282 */
extern rtx_insn *gen_split_2465 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2465 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2465 (sse.md:14282)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14304 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4HImode,
	gen_rtx_TRUNCATE (V4HImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14282 */
extern rtx_insn *gen_split_2466 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2466 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2466 (sse.md:14282)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14304 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V4HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4HImode,
	gen_rtx_US_TRUNCATE (V4HImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14318 */
extern rtx_insn *gen_split_2467 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2467 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2467 (sse.md:14318)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14328 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V2HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_TRUNCATE (V2HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14318 */
extern rtx_insn *gen_split_2468 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2468 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2468 (sse.md:14318)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14328 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V2HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V2HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14318 */
extern rtx_insn *gen_split_2469 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2469 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2469 (sse.md:14318)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14328 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V2HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_TRUNCATE (V2HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14380 */
extern rtx_insn *gen_split_2470 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2470 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2470 (sse.md:14380)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14401 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V2HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2HImode,
	gen_rtx_SS_TRUNCATE (V2HImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14380 */
extern rtx_insn *gen_split_2471 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2471 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2471 (sse.md:14380)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14401 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V2HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2HImode,
	gen_rtx_TRUNCATE (V2HImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14380 */
extern rtx_insn *gen_split_2472 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2472 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2472 (sse.md:14380)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14401 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V2HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2HImode,
	gen_rtx_US_TRUNCATE (V2HImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14403 */
rtx
gen_truncv2div2si2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14408 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0 = gen_reg_rtx (V4SImode);

  emit_insn (gen_avx512vl_truncatev2div2si2
	     (op0, operands[1], CONST0_RTX (V2SImode)));

  emit_move_insn (operands[0],
		  lowpart_subreg (V2SImode, op0, V4SImode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V2SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14431 */
extern rtx_insn *gen_split_2473 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2473 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2473 (sse.md:14431)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14444 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op1 = gen_reg_rtx (V2SImode);
  operands[1] = lowpart_subreg (V2DImode,
				force_reg (V4SImode, operands[1]),
				V4SImode);
  emit_insn (gen_truncv2div2si2 (op1, operands[1]));
  emit_move_insn (operands[0], lowpart_subreg (DImode, op1, V2SImode));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14465 */
extern rtx_insn *gen_split_2474 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2474 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2474 (sse.md:14465)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14475 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V2SImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_TRUNCATE (V2SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14465 */
extern rtx_insn *gen_split_2475 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2475 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2475 (sse.md:14465)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14475 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V2SImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V2SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14465 */
extern rtx_insn *gen_split_2476 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2476 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2476 (sse.md:14465)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14475 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V2SImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_TRUNCATE (V2SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14523 */
extern rtx_insn *gen_split_2477 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2477 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2477 (sse.md:14523)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14544 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V2SImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2SImode,
	gen_rtx_SS_TRUNCATE (V2SImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14523 */
extern rtx_insn *gen_split_2478 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2478 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2478 (sse.md:14523)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14544 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V2SImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2SImode,
	gen_rtx_TRUNCATE (V2SImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14523 */
extern rtx_insn *gen_split_2479 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2479 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2479 (sse.md:14523)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14544 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V2SImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2SImode,
	gen_rtx_US_TRUNCATE (V2SImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14546 */
rtx
gen_truncv8div8qi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14551 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0 = gen_reg_rtx (V16QImode);

  emit_insn (gen_avx512f_truncatev8div16qi2 (op0, operands[1]));

  emit_move_insn (operands[0],
		  lowpart_subreg (V8QImode, op0, V16QImode));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V8QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14587 */
extern rtx_insn *gen_split_2480 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2480 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2480 (sse.md:14587)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14597 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_TRUNCATE (V8QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14587 */
extern rtx_insn *gen_split_2481 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2481 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2481 (sse.md:14587)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14597 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V8QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14587 */
extern rtx_insn *gen_split_2482 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2482 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2482 (sse.md:14587)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14597 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_TRUNCATE (V8QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14657 */
extern rtx_insn *gen_split_2483 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2483 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2483 (sse.md:14657)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14681 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_SS_TRUNCATE (V8QImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14657 */
extern rtx_insn *gen_split_2484 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2484 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2484 (sse.md:14657)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14681 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_TRUNCATE (V8QImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14657 */
extern rtx_insn *gen_split_2485 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2485 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2485 (sse.md:14657)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14681 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[0] = adjust_address_nv (operands[0], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8QImode,
	gen_rtx_US_TRUNCATE (V8QImode,
	operand1),
	copy_rtx (operand0),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14689 */
rtx
gen_negv64qi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14695 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = force_reg (V64QImode, CONST0_RTX (V64QImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V64QImode,
	operand2,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14689 */
rtx
gen_negv32qi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14695 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = force_reg (V32QImode, CONST0_RTX (V32QImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V32QImode,
	operand2,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14689 */
rtx
gen_negv16qi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14695 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = force_reg (V16QImode, CONST0_RTX (V16QImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V16QImode,
	operand2,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14689 */
rtx
gen_negv32hi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14695 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = force_reg (V32HImode, CONST0_RTX (V32HImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V32HImode,
	operand2,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14689 */
rtx
gen_negv16hi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14695 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = force_reg (V16HImode, CONST0_RTX (V16HImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V16HImode,
	operand2,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14689 */
rtx
gen_negv8hi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14695 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = force_reg (V8HImode, CONST0_RTX (V8HImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V8HImode,
	operand2,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14689 */
rtx
gen_negv16si2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14695 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = force_reg (V16SImode, CONST0_RTX (V16SImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V16SImode,
	operand2,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14689 */
rtx
gen_negv8si2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14695 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = force_reg (V8SImode, CONST0_RTX (V8SImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V8SImode,
	operand2,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14689 */
rtx
gen_negv4si2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14695 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = force_reg (V4SImode, CONST0_RTX (V4SImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V4SImode,
	operand2,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14689 */
rtx
gen_negv8di2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14695 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = force_reg (V8DImode, CONST0_RTX (V8DImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V8DImode,
	operand2,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14689 */
rtx
gen_negv4di2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14695 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = force_reg (V4DImode, CONST0_RTX (V4DImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V4DImode,
	operand2,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14689 */
rtx
gen_negv2di2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14695 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = force_reg (V2DImode, CONST0_RTX (V2DImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V2DImode,
	operand2,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_addv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V64QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V64QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_subv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V64QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V64QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_addv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V32QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V32QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_subv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V32QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V32QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_addv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V16QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_subv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V16QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_addv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V32HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_subv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V32HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_addv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V16HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_subv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V16HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_addv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V8HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V8HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_subv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V8HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V8HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_addv16si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V16SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V16SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_subv16si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V16SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V16SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_addv8si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V8SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V8SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_subv8si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V8SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V8SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_addv4si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V4SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V4SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_subv4si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V4SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V4SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_addv8di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V8DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V8DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_subv8di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V8DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V8DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_addv4di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V4DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V4DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_subv4di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V4DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V4DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_addv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V2DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V2DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14697 */
rtx
gen_subv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14703 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V2DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MINUS (V2DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_addv64qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_addv64qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_addv64qi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_PLUS (V64QImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_subv64qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_subv64qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_subv64qi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_MINUS (V64QImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_addv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_addv32qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_addv32qi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_PLUS (V32QImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_subv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_subv32qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_subv32qi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_MINUS (V32QImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_addv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_addv16qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_addv16qi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_PLUS (V16QImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_subv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_subv16qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_subv16qi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_MINUS (V16QImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_addv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_addv32hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_addv32hi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_PLUS (V32HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_subv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_subv32hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_subv32hi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_MINUS (V32HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_addv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_addv16hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_addv16hi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_PLUS (V16HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_subv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_subv16hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_subv16hi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_MINUS (V16HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_addv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_addv8hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_addv8hi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_PLUS (V8HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_subv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_subv8hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_subv8hi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_MINUS (V8HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_addv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_addv16si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_addv16si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_PLUS (V16SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_subv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_subv16si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_subv16si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_MINUS (V16SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_addv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_addv8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_addv8si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_PLUS (V8SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_subv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_subv8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_subv8si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_MINUS (V8SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_addv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_addv4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_addv4si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_PLUS (V4SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_subv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_subv4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_subv4si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_MINUS (V4SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_addv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_addv8di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_addv8di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_PLUS (V8DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_subv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_subv8di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_subv8di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_MINUS (V8DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_addv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_addv4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_addv4di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_PLUS (V4DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_subv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_subv4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_subv4di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_MINUS (V4DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_addv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_addv2di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_addv2di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_PLUS (V2DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14705 */
rtx
gen_cond_subv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_subv2di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14714 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_subv2di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_MINUS (V2DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14723 */
rtx
gen_addv16si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14732 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V16SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_PLUS (V16SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14723 */
rtx
gen_subv16si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14732 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V16SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_MINUS (V16SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14723 */
rtx
gen_addv8si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14732 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V8SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_PLUS (V8SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14723 */
rtx
gen_subv8si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14732 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V8SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_MINUS (V8SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14723 */
rtx
gen_addv4si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14732 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V4SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_PLUS (V4SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14723 */
rtx
gen_subv4si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14732 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V4SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_MINUS (V4SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14723 */
rtx
gen_addv8di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14732 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V8DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_PLUS (V8DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14723 */
rtx
gen_subv8di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14732 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V8DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_MINUS (V8DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14723 */
rtx
gen_addv4di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14732 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V4DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_PLUS (V4DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14723 */
rtx
gen_subv4di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14732 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V4DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_MINUS (V4DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14723 */
rtx
gen_addv2di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14732 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V2DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_PLUS (V2DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14723 */
rtx
gen_subv2di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14732 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V2DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_MINUS (V2DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14734 */
rtx
gen_addv64qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14743 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V64QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_PLUS (V64QImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14734 */
rtx
gen_subv64qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14743 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V64QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_MINUS (V64QImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14734 */
rtx
gen_addv16qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14743 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V16QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_PLUS (V16QImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14734 */
rtx
gen_subv16qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14743 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V16QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_MINUS (V16QImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14734 */
rtx
gen_addv32qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14743 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V32QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_PLUS (V32QImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14734 */
rtx
gen_subv32qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14743 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V32QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_MINUS (V32QImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14734 */
rtx
gen_addv32hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14743 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_PLUS (V32HImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14734 */
rtx
gen_subv32hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14743 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_MINUS (V32HImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14734 */
rtx
gen_addv16hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14743 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_PLUS (V16HImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14734 */
rtx
gen_subv16hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14743 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_MINUS (V16HImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14734 */
rtx
gen_addv8hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14743 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (PLUS, V8HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_PLUS (V8HImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14734 */
rtx
gen_subv8hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14743 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MINUS, V8HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_MINUS (V8HImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx512bw_ssaddv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_PLUS, V64QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_PLUS (V64QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx512bw_ssaddv64qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_PLUS, V64QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_SS_PLUS (V64QImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx512bw_usaddv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_PLUS, V64QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_PLUS (V64QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx512bw_usaddv64qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_PLUS, V64QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_US_PLUS (V64QImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx512bw_sssubv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_MINUS, V64QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_MINUS (V64QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx512bw_sssubv64qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_MINUS, V64QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_SS_MINUS (V64QImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx512bw_ussubv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_MINUS, V64QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_MINUS (V64QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx512bw_ussubv64qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_MINUS, V64QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_US_MINUS (V64QImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx2_ssaddv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_PLUS, V32QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_PLUS (V32QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx2_ssaddv32qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_PLUS, V32QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_SS_PLUS (V32QImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx2_usaddv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_PLUS, V32QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_PLUS (V32QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx2_usaddv32qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_PLUS, V32QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_US_PLUS (V32QImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx2_sssubv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_MINUS, V32QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_MINUS (V32QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx2_sssubv32qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_MINUS, V32QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_SS_MINUS (V32QImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx2_ussubv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_MINUS, V32QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_MINUS (V32QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx2_ussubv32qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_MINUS, V32QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_US_MINUS (V32QImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_sse2_ssaddv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_PLUS, V16QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_PLUS (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_sse2_ssaddv16qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_PLUS, V16QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_SS_PLUS (V16QImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_sse2_usaddv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_PLUS, V16QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_PLUS (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_sse2_usaddv16qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_PLUS, V16QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_US_PLUS (V16QImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_sse2_sssubv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_MINUS, V16QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_MINUS (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_sse2_sssubv16qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_MINUS, V16QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_SS_MINUS (V16QImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_sse2_ussubv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_MINUS, V16QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_MINUS (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_sse2_ussubv16qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_MINUS, V16QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_US_MINUS (V16QImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx512bw_ssaddv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_PLUS, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_PLUS (V32HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx512bw_ssaddv32hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_PLUS, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_SS_PLUS (V32HImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx512bw_usaddv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_PLUS, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_PLUS (V32HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx512bw_usaddv32hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_PLUS, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_US_PLUS (V32HImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx512bw_sssubv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_MINUS, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_MINUS (V32HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx512bw_sssubv32hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_MINUS, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_SS_MINUS (V32HImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx512bw_ussubv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_MINUS, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_MINUS (V32HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx512bw_ussubv32hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_MINUS, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_US_MINUS (V32HImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx2_ssaddv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_PLUS, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_PLUS (V16HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx2_ssaddv16hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_PLUS, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_SS_PLUS (V16HImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx2_usaddv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_PLUS, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_PLUS (V16HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx2_usaddv16hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_PLUS, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_US_PLUS (V16HImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx2_sssubv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_MINUS, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_MINUS (V16HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx2_sssubv16hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_MINUS, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_SS_MINUS (V16HImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx2_ussubv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_MINUS, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_MINUS (V16HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_avx2_ussubv16hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_MINUS, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_US_MINUS (V16HImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_sse2_ssaddv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_PLUS, V8HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_PLUS (V8HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_sse2_ssaddv8hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_PLUS, V8HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_SS_PLUS (V8HImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_sse2_usaddv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_PLUS, V8HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_PLUS (V8HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_sse2_usaddv8hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_PLUS, V8HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_US_PLUS (V8HImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_sse2_sssubv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_MINUS, V8HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SS_MINUS (V8HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_sse2_sssubv8hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SS_MINUS, V8HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_SS_MINUS (V8HImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_sse2_ussubv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_MINUS, V8HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_US_MINUS (V8HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14788 */
rtx
gen_sse2_ussubv8hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14794 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (US_MINUS, V8HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_US_MINUS (V8HImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14813 */
extern rtx_insn *gen_split_2486 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2486 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2486 (sse.md:14813)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14827 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = gen_reg_rtx (V32QImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_UMIN (V32QImode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_EQ (V32QImode,
	copy_rtx (operand4),
	copy_rtx (operand1))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14813 */
extern rtx_insn *gen_split_2487 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2487 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2487 (sse.md:14813)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14827 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = gen_reg_rtx (V16QImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_UMIN (V16QImode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_EQ (V16QImode,
	copy_rtx (operand4),
	copy_rtx (operand1))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14813 */
extern rtx_insn *gen_split_2488 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2488 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2488 (sse.md:14813)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14827 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = gen_reg_rtx (V16HImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_UMIN (V16HImode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_EQ (V16HImode,
	copy_rtx (operand4),
	copy_rtx (operand1))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14813 */
extern rtx_insn *gen_split_2489 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2489 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2489 (sse.md:14813)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14827 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = gen_reg_rtx (V8HImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand4,
	gen_rtx_UMIN (V8HImode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_EQ (V8HImode,
	copy_rtx (operand4),
	copy_rtx (operand1))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14829 */
rtx
gen_mulv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14834 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vecop_qihi (MULT, operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V8QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14839 */
rtx
gen_mulv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14844 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vecop_qihi (MULT, operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V64QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14839 */
rtx
gen_mulv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14844 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vecop_qihi (MULT, operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V32QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14839 */
rtx
gen_mulv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14844 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vecop_qihi (MULT, operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14849 */
rtx
gen_cond_mulv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_mulv8hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14858 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_mulv8hi3_mask (operands[0],
				  operands[2],
				  operands[3],
				  operands[4],
				  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_MULT (V8HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14849 */
rtx
gen_cond_mulv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_mulv16hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14858 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_mulv16hi3_mask (operands[0],
				  operands[2],
				  operands[3],
				  operands[4],
				  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_MULT (V16HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14849 */
rtx
gen_cond_mulv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_mulv32hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14858 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_mulv32hi3_mask (operands[0],
				  operands[2],
				  operands[3],
				  operands[4],
				  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_MULT (V32HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14867 */
rtx
gen_mulv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14872 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V32HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14867 */
rtx
gen_mulv32hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14872 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_MULT (V32HImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14867 */
rtx
gen_mulv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14872 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V16HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14867 */
rtx
gen_mulv16hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14872 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_MULT (V16HImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14867 */
rtx
gen_mulv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14872 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V8HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V8HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14867 */
rtx
gen_mulv8hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14872 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V8HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_MULT (V8HImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14889 */
rtx
gen_smulv32hi3_highpart (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14901 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V32HImode,
	gen_rtx_LSHIFTRT (V32SImode,
	gen_rtx_MULT (V32SImode,
	gen_rtx_SIGN_EXTEND (V32SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V32SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (16)]))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14889 */
rtx
gen_smulv32hi3_highpart_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14901 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_TRUNCATE (V32HImode,
	gen_rtx_LSHIFTRT (V32SImode,
	gen_rtx_MULT (V32SImode,
	gen_rtx_SIGN_EXTEND (V32SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V32SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (16)])),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14889 */
rtx
gen_umulv32hi3_highpart (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14901 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V32HImode,
	gen_rtx_LSHIFTRT (V32SImode,
	gen_rtx_MULT (V32SImode,
	gen_rtx_ZERO_EXTEND (V32SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V32SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (16)]))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14889 */
rtx
gen_umulv32hi3_highpart_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14901 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_TRUNCATE (V32HImode,
	gen_rtx_LSHIFTRT (V32SImode,
	gen_rtx_MULT (V32SImode,
	gen_rtx_ZERO_EXTEND (V32SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V32SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (16)])),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14889 */
rtx
gen_smulv16hi3_highpart (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14901 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V16HImode,
	gen_rtx_LSHIFTRT (V16SImode,
	gen_rtx_MULT (V16SImode,
	gen_rtx_SIGN_EXTEND (V16SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V16SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (16)]))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14889 */
rtx
gen_smulv16hi3_highpart_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14901 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_TRUNCATE (V16HImode,
	gen_rtx_LSHIFTRT (V16SImode,
	gen_rtx_MULT (V16SImode,
	gen_rtx_SIGN_EXTEND (V16SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V16SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (16)])),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14889 */
rtx
gen_umulv16hi3_highpart (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14901 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V16HImode,
	gen_rtx_LSHIFTRT (V16SImode,
	gen_rtx_MULT (V16SImode,
	gen_rtx_ZERO_EXTEND (V16SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V16SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (16)]))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14889 */
rtx
gen_umulv16hi3_highpart_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14901 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_TRUNCATE (V16HImode,
	gen_rtx_LSHIFTRT (V16SImode,
	gen_rtx_MULT (V16SImode,
	gen_rtx_ZERO_EXTEND (V16SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V16SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (16)])),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14889 */
rtx
gen_smulv8hi3_highpart (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14901 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V8HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V8HImode,
	gen_rtx_LSHIFTRT (V8SImode,
	gen_rtx_MULT (V8SImode,
	gen_rtx_SIGN_EXTEND (V8SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V8SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (16)]))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14889 */
rtx
gen_smulv8hi3_highpart_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14901 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V8HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_TRUNCATE (V8HImode,
	gen_rtx_LSHIFTRT (V8SImode,
	gen_rtx_MULT (V8SImode,
	gen_rtx_SIGN_EXTEND (V8SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V8SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (16)])),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14889 */
rtx
gen_umulv8hi3_highpart (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14901 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V8HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V8HImode,
	gen_rtx_LSHIFTRT (V8SImode,
	gen_rtx_MULT (V8SImode,
	gen_rtx_ZERO_EXTEND (V8SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V8SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (16)]))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14889 */
rtx
gen_umulv8hi3_highpart_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14901 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V8HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_TRUNCATE (V8HImode,
	gen_rtx_LSHIFTRT (V8SImode,
	gen_rtx_MULT (V8SImode,
	gen_rtx_ZERO_EXTEND (V8SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V8SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (16)])),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14924 */
rtx
gen_vec_widen_umult_even_v16si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14942 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V16SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V8DImode,
	gen_rtx_ZERO_EXTEND (V8DImode,
	gen_rtx_VEC_SELECT (V8SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)])))),
	gen_rtx_ZERO_EXTEND (V8DImode,
	gen_rtx_VEC_SELECT (V8SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)])))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14924 */
rtx
gen_vec_widen_umult_even_v16si_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14942 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V16SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_MULT (V8DImode,
	gen_rtx_ZERO_EXTEND (V8DImode,
	gen_rtx_VEC_SELECT (V8SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)])))),
	gen_rtx_ZERO_EXTEND (V8DImode,
	gen_rtx_VEC_SELECT (V8SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)]))))),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14968 */
rtx
gen_vec_widen_umult_even_v8si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14982 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V8SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V4DImode,
	gen_rtx_ZERO_EXTEND (V4DImode,
	gen_rtx_VEC_SELECT (V4SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)])))),
	gen_rtx_ZERO_EXTEND (V4DImode,
	gen_rtx_VEC_SELECT (V4SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)])))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:14968 */
rtx
gen_vec_widen_umult_even_v8si_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 14982 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V8SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_MULT (V4DImode,
	gen_rtx_ZERO_EXTEND (V4DImode,
	gen_rtx_VEC_SELECT (V4SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)])))),
	gen_rtx_ZERO_EXTEND (V4DImode,
	gen_rtx_VEC_SELECT (V4SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))))),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15004 */
rtx
gen_vec_widen_umult_even_v4si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15016 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V4SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V2DImode,
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)])))),
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)])))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15004 */
rtx
gen_vec_widen_umult_even_v4si_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15016 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V4SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_MULT (V2DImode,
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)])))),
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))))),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15040 */
rtx
gen_vec_widen_smult_even_v16si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15058 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V16SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V8DImode,
	gen_rtx_SIGN_EXTEND (V8DImode,
	gen_rtx_VEC_SELECT (V8SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)])))),
	gen_rtx_SIGN_EXTEND (V8DImode,
	gen_rtx_VEC_SELECT (V8SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)])))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15040 */
rtx
gen_vec_widen_smult_even_v16si_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15058 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V16SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_MULT (V8DImode,
	gen_rtx_SIGN_EXTEND (V8DImode,
	gen_rtx_VEC_SELECT (V8SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)])))),
	gen_rtx_SIGN_EXTEND (V8DImode,
	gen_rtx_VEC_SELECT (V8SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)]))))),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15084 */
rtx
gen_vec_widen_smult_even_v8si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15098 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V8SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V4DImode,
	gen_rtx_SIGN_EXTEND (V4DImode,
	gen_rtx_VEC_SELECT (V4SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)])))),
	gen_rtx_SIGN_EXTEND (V4DImode,
	gen_rtx_VEC_SELECT (V4SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)])))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15084 */
rtx
gen_vec_widen_smult_even_v8si_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15098 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V8SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_MULT (V4DImode,
	gen_rtx_SIGN_EXTEND (V4DImode,
	gen_rtx_VEC_SELECT (V4SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)])))),
	gen_rtx_SIGN_EXTEND (V4DImode,
	gen_rtx_VEC_SELECT (V4SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))))),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15120 */
rtx
gen_sse4_1_mulv2siv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15132 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V4SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V2DImode,
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)])))),
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)])))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15120 */
rtx
gen_sse4_1_mulv2siv2di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15132 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V4SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_MULT (V2DImode,
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)])))),
	gen_rtx_SIGN_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)]))))),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15170 */
rtx
gen_avx2_pmaddwd (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15202 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V8SImode,
	gen_rtx_MULT (V8SImode,
	gen_rtx_SIGN_EXTEND (V8SImode,
	gen_rtx_VEC_SELECT (V8HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)])))),
	gen_rtx_SIGN_EXTEND (V8SImode,
	gen_rtx_VEC_SELECT (V8HImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (8)],
		const_int_rtx[MAX_SAVED_CONST_INT + (10)],
		const_int_rtx[MAX_SAVED_CONST_INT + (12)],
		const_int_rtx[MAX_SAVED_CONST_INT + (14)]))))),
	gen_rtx_MULT (V8SImode,
	gen_rtx_SIGN_EXTEND (V8SImode,
	gen_rtx_VEC_SELECT (V8HImode,
	copy_rtx (operand1),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)])))),
	gen_rtx_SIGN_EXTEND (V8SImode,
	gen_rtx_VEC_SELECT (V8HImode,
	copy_rtx (operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)],
		const_int_rtx[MAX_SAVED_CONST_INT + (9)],
		const_int_rtx[MAX_SAVED_CONST_INT + (11)],
		const_int_rtx[MAX_SAVED_CONST_INT + (13)],
		const_int_rtx[MAX_SAVED_CONST_INT + (15)]))))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15241 */
rtx
gen_sse2_pmaddwd (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15265 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V8HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_PLUS (V4SImode,
	gen_rtx_MULT (V4SImode,
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)])))),
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand2,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]))))),
	gen_rtx_MULT (V4SImode,
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	copy_rtx (operand1),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)])))),
	gen_rtx_SIGN_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	copy_rtx (operand2),
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15301 */
rtx
gen_cond_mulv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_mulv8di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15310 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512dq_mulv8di3_mask (operands[0],
					   operands[2],
					   operands[3],
					   operands[4],
					   operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_MULT (V8DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15301 */
rtx
gen_cond_mulv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_mulv4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15310 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512dq_mulv4di3_mask (operands[0],
					   operands[2],
					   operands[3],
					   operands[4],
					   operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_MULT (V4DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15301 */
rtx
gen_cond_mulv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_mulv2di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15310 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512dq_mulv2di3_mask (operands[0],
					   operands[2],
					   operands[3],
					   operands[4],
					   operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_MULT (V2DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15319 */
rtx
gen_avx512dq_mulv8di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15325 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V8DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V8DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15319 */
rtx
gen_avx512dq_mulv8di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15325 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V8DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_MULT (V8DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15319 */
rtx
gen_avx512dq_mulv4di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15325 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V4DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V4DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15319 */
rtx
gen_avx512dq_mulv4di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15325 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V4DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_MULT (V4DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15319 */
rtx
gen_avx512dq_mulv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15325 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V2DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V2DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15319 */
rtx
gen_avx512dq_mulv2di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15325 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (MULT, V2DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_MULT (V2DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15346 */
rtx
gen_cond_mulv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_mulv16si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_mulv16si3_mask (operands[0],
				  operands[2],
				  operands[3],
				  operands[4],
				  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_MULT (V16SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15346 */
rtx
gen_cond_mulv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_mulv8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_mulv8si3_mask (operands[0],
				  operands[2],
				  operands[3],
				  operands[4],
				  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_MULT (V8SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15346 */
rtx
gen_cond_mulv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_mulv4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15355 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_mulv4si3_mask (operands[0],
				  operands[2],
				  operands[3],
				  operands[4],
				  operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_MULT (V4SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15364 */
rtx
gen_mulv16si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15370 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE4_1)
    {
      if (!vector_operand (operands[1], V16SImode))
	operands[1] = force_reg (V16SImode, operands[1]);
      if (!vector_operand (operands[2], V16SImode))
	operands[2] = force_reg (V16SImode, operands[2]);
      ix86_fixup_binary_operands_no_copy (MULT, V16SImode, operands);
    }
  else
    {
      ix86_expand_sse2_mulv4si3 (operands[0], operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V16SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15364 */
rtx
gen_mulv16si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15370 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE4_1)
    {
      if (!vector_operand (operands[1], V16SImode))
	operands[1] = force_reg (V16SImode, operands[1]);
      if (!vector_operand (operands[2], V16SImode))
	operands[2] = force_reg (V16SImode, operands[2]);
      ix86_fixup_binary_operands_no_copy (MULT, V16SImode, operands);
    }
  else
    {
      ix86_expand_sse2_mulv4si3 (operands[0], operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_MULT (V16SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15364 */
rtx
gen_mulv8si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15370 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE4_1)
    {
      if (!vector_operand (operands[1], V8SImode))
	operands[1] = force_reg (V8SImode, operands[1]);
      if (!vector_operand (operands[2], V8SImode))
	operands[2] = force_reg (V8SImode, operands[2]);
      ix86_fixup_binary_operands_no_copy (MULT, V8SImode, operands);
    }
  else
    {
      ix86_expand_sse2_mulv4si3 (operands[0], operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V8SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15364 */
rtx
gen_mulv8si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15370 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE4_1)
    {
      if (!vector_operand (operands[1], V8SImode))
	operands[1] = force_reg (V8SImode, operands[1]);
      if (!vector_operand (operands[2], V8SImode))
	operands[2] = force_reg (V8SImode, operands[2]);
      ix86_fixup_binary_operands_no_copy (MULT, V8SImode, operands);
    }
  else
    {
      ix86_expand_sse2_mulv4si3 (operands[0], operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_MULT (V8SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15364 */
rtx
gen_mulv4si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15370 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE4_1)
    {
      if (!vector_operand (operands[1], V4SImode))
	operands[1] = force_reg (V4SImode, operands[1]);
      if (!vector_operand (operands[2], V4SImode))
	operands[2] = force_reg (V4SImode, operands[2]);
      ix86_fixup_binary_operands_no_copy (MULT, V4SImode, operands);
    }
  else
    {
      ix86_expand_sse2_mulv4si3 (operands[0], operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V4SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15364 */
rtx
gen_mulv4si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15370 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE4_1)
    {
      if (!vector_operand (operands[1], V4SImode))
	operands[1] = force_reg (V4SImode, operands[1]);
      if (!vector_operand (operands[2], V4SImode))
	operands[2] = force_reg (V4SImode, operands[2]);
      ix86_fixup_binary_operands_no_copy (MULT, V4SImode, operands);
    }
  else
    {
      ix86_expand_sse2_mulv4si3 (operands[0], operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_MULT (V4SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15404 */
rtx
gen_mulv8di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15410 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_sse2_mulvxdi3 (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V8DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15404 */
rtx
gen_mulv4di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15410 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_sse2_mulvxdi3 (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V4DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15404 */
rtx
gen_mulv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15410 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_sse2_mulvxdi3 (operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_MULT (V2DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15415 */
rtx
gen_vec_widen_smult_hi_v32qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      false, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_SIGN_EXTEND (V16HImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15415 */
rtx
gen_vec_widen_umult_hi_v32qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      true, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_ZERO_EXTEND (V16HImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15415 */
rtx
gen_vec_widen_smult_hi_v16qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      false, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_SIGN_EXTEND (V8HImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15415 */
rtx
gen_vec_widen_umult_hi_v16qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      true, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_ZERO_EXTEND (V8HImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15415 */
rtx
gen_vec_widen_smult_hi_v16hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      false, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_SIGN_EXTEND (V8SImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15415 */
rtx
gen_vec_widen_umult_hi_v16hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      true, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_ZERO_EXTEND (V8SImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15415 */
rtx
gen_vec_widen_smult_hi_v8hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      false, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_SIGN_EXTEND (V4SImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15415 */
rtx
gen_vec_widen_umult_hi_v8hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      true, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_ZERO_EXTEND (V4SImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15415 */
rtx
gen_vec_widen_smult_hi_v8si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      false, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_SIGN_EXTEND (V4DImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15415 */
rtx
gen_vec_widen_umult_hi_v8si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      true, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_ZERO_EXTEND (V4DImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15415 */
rtx
gen_vec_widen_smult_hi_v4si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      false, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_SIGN_EXTEND (V2DImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15415 */
rtx
gen_vec_widen_umult_hi_v4si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      true, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_ZERO_EXTEND (V2DImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15427 */
rtx
gen_vec_widen_smult_lo_v32qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15433 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      false, false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_SIGN_EXTEND (V16HImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15427 */
rtx
gen_vec_widen_umult_lo_v32qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15433 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      true, false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_ZERO_EXTEND (V16HImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15427 */
rtx
gen_vec_widen_smult_lo_v16qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15433 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      false, false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_SIGN_EXTEND (V8HImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15427 */
rtx
gen_vec_widen_umult_lo_v16qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15433 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      true, false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_ZERO_EXTEND (V8HImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15427 */
rtx
gen_vec_widen_smult_lo_v16hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15433 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      false, false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_SIGN_EXTEND (V8SImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15427 */
rtx
gen_vec_widen_umult_lo_v16hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15433 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      true, false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_ZERO_EXTEND (V8SImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15427 */
rtx
gen_vec_widen_smult_lo_v8hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15433 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      false, false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_SIGN_EXTEND (V4SImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15427 */
rtx
gen_vec_widen_umult_lo_v8hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15433 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      true, false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_ZERO_EXTEND (V4SImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15427 */
rtx
gen_vec_widen_smult_lo_v8si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15433 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      false, false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_SIGN_EXTEND (V4DImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15427 */
rtx
gen_vec_widen_umult_lo_v8si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15433 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      true, false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_ZERO_EXTEND (V4DImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15427 */
rtx
gen_vec_widen_smult_lo_v4si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15433 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      false, false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_SIGN_EXTEND (V2DImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15427 */
rtx
gen_vec_widen_umult_lo_v4si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15433 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_hilo (operands[0], operands[1], operands[2],
			      true, false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_ZERO_EXTEND (V2DImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15441 */
rtx
gen_vec_widen_smult_even_v4si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15446 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_evenodd (operands[0], operands[1], operands[2],
				 false, false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15452 */
rtx
gen_vec_widen_smult_odd_v16si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_evenodd (operands[0], operands[1], operands[2],
				 false, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_SIGN_EXTEND (V8DImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15452 */
rtx
gen_vec_widen_umult_odd_v16si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_evenodd (operands[0], operands[1], operands[2],
				 true, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_ZERO_EXTEND (V8DImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15452 */
rtx
gen_vec_widen_smult_odd_v8si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_evenodd (operands[0], operands[1], operands[2],
				 false, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_SIGN_EXTEND (V4DImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15452 */
rtx
gen_vec_widen_umult_odd_v8si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_evenodd (operands[0], operands[1], operands[2],
				 true, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_ZERO_EXTEND (V4DImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15452 */
rtx
gen_vec_widen_smult_odd_v4si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_evenodd (operands[0], operands[1], operands[2],
				 false, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_SIGN_EXTEND (V2DImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15452 */
rtx
gen_vec_widen_umult_odd_v4si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15458 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_mul_widen_evenodd (operands[0], operands[1], operands[2],
				 true, true);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_ZERO_EXTEND (V2DImode,
	operand1));
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15470 */
rtx
gen_sdot_prodv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15476 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* Try with vnni instructions.  */
  if ((64 == 64 && TARGET_AVX512VNNI)
      || (64 < 64
	  && ((TARGET_AVX512VNNI && TARGET_AVX512VL) || TARGET_AVXVNNI)))
    {
      operands[1] = lowpart_subreg (V16SImode,
				    force_reg (V32HImode, operands[1]),
				    V32HImode);
      operands[2] = lowpart_subreg (V16SImode,
				    force_reg (V32HImode, operands[2]),
				    V32HImode);
      emit_insn (gen_rtx_SET (operands[0], operands[3]));
      emit_insn (gen_vpdpwssd_v16si (operands[0], operands[3],
					       operands[1], operands[2]));
    }
    /* Otherwise use pmaddwd + paddd.  */
    else
    {
      rtx t = gen_reg_rtx (V16SImode);
      emit_insn (gen_avx512bw_pmaddwd512v32hi (t, operands[1], operands[2]));
      emit_insn (gen_rtx_SET (operands[0],
			      gen_rtx_PLUS (V16SImode,
					    operands[3], t)));
    }
    DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15470 */
rtx
gen_sdot_prodv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15476 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* Try with vnni instructions.  */
  if ((32 == 64 && TARGET_AVX512VNNI)
      || (32 < 64
	  && ((TARGET_AVX512VNNI && TARGET_AVX512VL) || TARGET_AVXVNNI)))
    {
      operands[1] = lowpart_subreg (V8SImode,
				    force_reg (V16HImode, operands[1]),
				    V16HImode);
      operands[2] = lowpart_subreg (V8SImode,
				    force_reg (V16HImode, operands[2]),
				    V16HImode);
      emit_insn (gen_rtx_SET (operands[0], operands[3]));
      emit_insn (gen_vpdpwssd_v8si (operands[0], operands[3],
					       operands[1], operands[2]));
    }
    /* Otherwise use pmaddwd + paddd.  */
    else
    {
      rtx t = gen_reg_rtx (V8SImode);
      emit_insn (gen_avx2_pmaddwd (t, operands[1], operands[2]));
      emit_insn (gen_rtx_SET (operands[0],
			      gen_rtx_PLUS (V8SImode,
					    operands[3], t)));
    }
    DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15470 */
rtx
gen_sdot_prodv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15476 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* Try with vnni instructions.  */
  if ((16 == 64 && TARGET_AVX512VNNI)
      || (16 < 64
	  && ((TARGET_AVX512VNNI && TARGET_AVX512VL) || TARGET_AVXVNNI)))
    {
      operands[1] = lowpart_subreg (V4SImode,
				    force_reg (V8HImode, operands[1]),
				    V8HImode);
      operands[2] = lowpart_subreg (V4SImode,
				    force_reg (V8HImode, operands[2]),
				    V8HImode);
      emit_insn (gen_rtx_SET (operands[0], operands[3]));
      emit_insn (gen_vpdpwssd_v4si (operands[0], operands[3],
					       operands[1], operands[2]));
    }
    /* Otherwise use pmaddwd + paddd.  */
    else
    {
      rtx t = gen_reg_rtx (V4SImode);
      emit_insn (gen_sse2_pmaddwd (t, operands[1], operands[2]));
      emit_insn (gen_rtx_SET (operands[0],
			      gen_rtx_PLUS (V4SImode,
					    operands[3], t)));
    }
    DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15506 */
rtx
gen_sdot_prodv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15512 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx t = gen_reg_rtx (V2DImode);
  emit_insn (gen_xop_pmacsdqh (t, operands[1], operands[2], operands[3]));
  emit_insn (gen_xop_pmacsdql (operands[0], operands[1], operands[2], t));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15519 */
rtx
gen_uavgv64qi3_ceil (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15532 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = CONST1_RTX(V64HImode);
  ix86_fixup_binary_operands_no_copy (PLUS, V64QImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V64QImode,
	gen_rtx_LSHIFTRT (V64HImode,
	gen_rtx_PLUS (V64HImode,
	gen_rtx_PLUS (V64HImode,
	gen_rtx_ZERO_EXTEND (V64HImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V64HImode,
	operand2)),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15519 */
rtx
gen_uavgv32qi3_ceil (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15532 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = CONST1_RTX(V32HImode);
  ix86_fixup_binary_operands_no_copy (PLUS, V32QImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V32QImode,
	gen_rtx_LSHIFTRT (V32HImode,
	gen_rtx_PLUS (V32HImode,
	gen_rtx_PLUS (V32HImode,
	gen_rtx_ZERO_EXTEND (V32HImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V32HImode,
	operand2)),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15519 */
rtx
gen_uavgv16qi3_ceil (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15532 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = CONST1_RTX(V16HImode);
  ix86_fixup_binary_operands_no_copy (PLUS, V16QImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V16QImode,
	gen_rtx_LSHIFTRT (V16HImode,
	gen_rtx_PLUS (V16HImode,
	gen_rtx_PLUS (V16HImode,
	gen_rtx_ZERO_EXTEND (V16HImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V16HImode,
	operand2)),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15519 */
rtx
gen_uavgv32hi3_ceil (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15532 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = CONST1_RTX(V32SImode);
  ix86_fixup_binary_operands_no_copy (PLUS, V32HImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V32HImode,
	gen_rtx_LSHIFTRT (V32SImode,
	gen_rtx_PLUS (V32SImode,
	gen_rtx_PLUS (V32SImode,
	gen_rtx_ZERO_EXTEND (V32SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V32SImode,
	operand2)),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15519 */
rtx
gen_uavgv16hi3_ceil (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15532 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = CONST1_RTX(V16SImode);
  ix86_fixup_binary_operands_no_copy (PLUS, V16HImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V16HImode,
	gen_rtx_LSHIFTRT (V16SImode,
	gen_rtx_PLUS (V16SImode,
	gen_rtx_PLUS (V16SImode,
	gen_rtx_ZERO_EXTEND (V16SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V16SImode,
	operand2)),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15519 */
rtx
gen_uavgv8hi3_ceil (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15532 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = CONST1_RTX(V8SImode);
  ix86_fixup_binary_operands_no_copy (PLUS, V8HImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V8HImode,
	gen_rtx_LSHIFTRT (V8SImode,
	gen_rtx_PLUS (V8SImode,
	gen_rtx_PLUS (V8SImode,
	gen_rtx_ZERO_EXTEND (V8SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V8SImode,
	operand2)),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15537 */
rtx
gen_usadv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15543 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx t1 = gen_reg_rtx (V2DImode);
  rtx t2 = gen_reg_rtx (V4SImode);
  emit_insn (gen_sse2_psadbw (t1, operands[1], operands[2]));
  convert_move (t2, t1, 0);
  emit_insn (gen_addv4si3 (operands[0], t2, operands[3]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15552 */
rtx
gen_usadv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15558 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx t1 = gen_reg_rtx (V4DImode);
  rtx t2 = gen_reg_rtx (V8SImode);
  emit_insn (gen_avx2_psadbw (t1, operands[1], operands[2]));
  convert_move (t2, t1, 0);
  emit_insn (gen_addv8si3 (operands[0], t2, operands[3]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15567 */
rtx
gen_usadv64qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15573 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx t1 = gen_reg_rtx (V8DImode);
  rtx t2 = gen_reg_rtx (V16SImode);
  emit_insn (gen_avx512f_psadbw (t1, operands[1], operands[2]));
  convert_move (t2, t1, 0);
  emit_insn (gen_addv16si3 (operands[0], t2, operands[3]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15629 */
rtx
gen_ashrv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V32HImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15629 */
rtx
gen_ashrv16si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V16SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15629 */
rtx
gen_ashrv8di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V8DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15636 */
rtx
gen_ashrv4di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15642 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_AVX512VL)
    {
      if (CONST_INT_P (operands[2]) && UINTVAL (operands[2]) >= 63)
	{
	  rtx zero = force_reg (V4DImode, CONST0_RTX (V4DImode));
	  emit_insn (gen_avx2_gtv4di3 (operands[0], zero, operands[1]));
	  DONE;
	}
      if (operands[2] == const0_rtx)
	{
	  emit_move_insn (operands[0], operands[1]);
	  DONE;
	}
      operands[1] = force_reg (V4DImode, operands[1]);
      if (CONST_INT_P (operands[2]))
	{
	  vec_perm_builder sel (8, 8, 1);
	  sel.quick_grow (8);
	  rtx arg0, arg1;
	  rtx op1 = lowpart_subreg (V8SImode, operands[1], V4DImode);
	  rtx target = gen_reg_rtx (V8SImode);
	  if (INTVAL (operands[2]) > 32)
	    {
	      arg0 = gen_reg_rtx (V8SImode);
	      arg1 = gen_reg_rtx (V8SImode);
	      emit_insn (gen_ashrv8si3 (arg1, op1, GEN_INT (31)));
	      emit_insn (gen_ashrv8si3 (arg0, op1,
					GEN_INT (INTVAL (operands[2]) - 32)));
	      sel[0] = 1;
	      sel[1] = 9;
	      sel[2] = 3;
	      sel[3] = 11;
	      sel[4] = 5;
	      sel[5] = 13;
	      sel[6] = 7;
	      sel[7] = 15;
	    }
	  else if (INTVAL (operands[2]) == 32)
	    {
	      arg0 = op1;
	      arg1 = gen_reg_rtx (V8SImode);
	      emit_insn (gen_ashrv8si3 (arg1, op1, GEN_INT (31)));
	      sel[0] = 1;
	      sel[1] = 9;
	      sel[2] = 3;
	      sel[3] = 11;
	      sel[4] = 5;
	      sel[5] = 13;
	      sel[6] = 7;
	      sel[7] = 15;
	    }
	  else
	    {
	      arg0 = gen_reg_rtx (V4DImode);
	      arg1 = gen_reg_rtx (V8SImode);
	      emit_insn (gen_lshrv4di3 (arg0, operands[1], operands[2]));
	      emit_insn (gen_ashrv8si3 (arg1, op1, operands[2]));
	      arg0 = lowpart_subreg (V8SImode, arg0, V4DImode);
	      sel[0] = 0;
	      sel[1] = 9;
	      sel[2] = 2;
	      sel[3] = 11;
	      sel[4] = 4;
	      sel[5] = 13;
	      sel[6] = 6;
	      sel[7] = 15;
	    }
	  vec_perm_indices indices (sel, 2, 8);
	  bool ok = targetm.vectorize.vec_perm_const (V8SImode, target,
						      arg0, arg1, indices);
	  gcc_assert (ok);
	  emit_move_insn (operands[0],
			  lowpart_subreg (V4DImode, target, V8SImode));
	  DONE;
	}

      rtx zero = force_reg (V4DImode, CONST0_RTX (V4DImode));
      rtx zero_or_all_ones = gen_reg_rtx (V4DImode);
      emit_insn (gen_avx2_gtv4di3 (zero_or_all_ones, zero, operands[1]));
      rtx lshr_res = gen_reg_rtx (V4DImode);
      emit_insn (gen_lshrv4di3 (lshr_res, operands[1], operands[2]));
      rtx ashl_res = gen_reg_rtx (V4DImode);
      rtx amount;
      if (TARGET_64BIT)
	{
	  amount = gen_reg_rtx (DImode);
	  emit_insn (gen_subdi3 (amount, force_reg (DImode, GEN_INT (64)),
				 operands[2]));
	}
      else
	{
	  rtx temp = gen_reg_rtx (SImode);
	  emit_insn (gen_subsi3 (temp, force_reg (SImode, GEN_INT (64)),
				 lowpart_subreg (SImode, operands[2],
						 DImode)));
	  amount = gen_reg_rtx (V4SImode);
	  emit_insn (gen_vec_setv4si_0 (amount, CONST0_RTX (V4SImode),
					temp));
	}
      amount = lowpart_subreg (DImode, amount, GET_MODE (amount));
      emit_insn (gen_ashlv4di3 (ashl_res, zero_or_all_ones, amount));
      emit_insn (gen_iorv4di3 (operands[0], lshr_res, ashl_res));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V4DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15798 */
extern rtx_insn *gen_split_2490 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2490 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2490 (sse.md:15798)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15809 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = XVECEXP (operands[2], 0, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V32HImode,
	operand1,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15798 */
extern rtx_insn *gen_split_2491 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2491 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2491 (sse.md:15798)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15809 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = XVECEXP (operands[2], 0, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V32HImode,
	operand1,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15798 */
extern rtx_insn *gen_split_2492 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2492 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2492 (sse.md:15798)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15809 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = XVECEXP (operands[2], 0, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V32HImode,
	operand1,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15798 */
extern rtx_insn *gen_split_2493 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2493 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2493 (sse.md:15798)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15809 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = XVECEXP (operands[2], 0, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V16SImode,
	operand1,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15798 */
extern rtx_insn *gen_split_2494 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2494 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2494 (sse.md:15798)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15809 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = XVECEXP (operands[2], 0, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V16SImode,
	operand1,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15798 */
extern rtx_insn *gen_split_2495 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2495 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2495 (sse.md:15798)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15809 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = XVECEXP (operands[2], 0, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V16SImode,
	operand1,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15798 */
extern rtx_insn *gen_split_2496 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2496 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2496 (sse.md:15798)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15809 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = XVECEXP (operands[2], 0, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V8DImode,
	operand1,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15798 */
extern rtx_insn *gen_split_2497 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2497 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2497 (sse.md:15798)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15809 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = XVECEXP (operands[2], 0, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V8DImode,
	operand1,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15798 */
extern rtx_insn *gen_split_2498 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2498 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2498 (sse.md:15798)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15809 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = XVECEXP (operands[2], 0, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V8DImode,
	operand1,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15811 */
rtx
gen_vec_shl_v16qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15818 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V1TImode, operands[1]);
  operands[3] = gen_reg_rtx (V1TImode);
  operands[4] = gen_lowpart (V16QImode, operands[3]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_ASHIFT (V1TImode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15811 */
rtx
gen_vec_shl_v8hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15818 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V1TImode, operands[1]);
  operands[3] = gen_reg_rtx (V1TImode);
  operands[4] = gen_lowpart (V8HImode, operands[3]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_ASHIFT (V1TImode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15811 */
rtx
gen_vec_shl_v4si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15818 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V1TImode, operands[1]);
  operands[3] = gen_reg_rtx (V1TImode);
  operands[4] = gen_lowpart (V4SImode, operands[3]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_ASHIFT (V1TImode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15811 */
rtx
gen_vec_shl_v2di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15818 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V1TImode, operands[1]);
  operands[3] = gen_reg_rtx (V1TImode);
  operands[4] = gen_lowpart (V2DImode, operands[3]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_ASHIFT (V1TImode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15811 */
rtx
gen_vec_shl_v4sf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15818 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V1TImode, operands[1]);
  operands[3] = gen_reg_rtx (V1TImode);
  operands[4] = gen_lowpart (V4SFmode, operands[3]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_ASHIFT (V1TImode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15811 */
rtx
gen_vec_shl_v2df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15818 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V1TImode, operands[1]);
  operands[3] = gen_reg_rtx (V1TImode);
  operands[4] = gen_lowpart (V2DFmode, operands[3]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_ASHIFT (V1TImode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15824 */
rtx
gen_vec_shr_v16qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15831 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V1TImode, operands[1]);
  operands[3] = gen_reg_rtx (V1TImode);
  operands[4] = gen_lowpart (V16QImode, operands[3]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_LSHIFTRT (V1TImode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15824 */
rtx
gen_vec_shr_v8hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15831 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V1TImode, operands[1]);
  operands[3] = gen_reg_rtx (V1TImode);
  operands[4] = gen_lowpart (V8HImode, operands[3]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_LSHIFTRT (V1TImode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15824 */
rtx
gen_vec_shr_v4si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15831 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V1TImode, operands[1]);
  operands[3] = gen_reg_rtx (V1TImode);
  operands[4] = gen_lowpart (V4SImode, operands[3]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_LSHIFTRT (V1TImode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15824 */
rtx
gen_vec_shr_v2di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15831 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V1TImode, operands[1]);
  operands[3] = gen_reg_rtx (V1TImode);
  operands[4] = gen_lowpart (V2DImode, operands[3]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_LSHIFTRT (V1TImode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15824 */
rtx
gen_vec_shr_v4sf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15831 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V1TImode, operands[1]);
  operands[3] = gen_reg_rtx (V1TImode);
  operands[4] = gen_lowpart (V4SFmode, operands[3]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_LSHIFTRT (V1TImode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15824 */
rtx
gen_vec_shr_v2df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15831 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V1TImode, operands[1]);
  operands[3] = gen_reg_rtx (V1TImode);
  operands[4] = gen_lowpart (V2DFmode, operands[3]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_LSHIFTRT (V1TImode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	operand4));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15837 */
rtx
gen_ashlv1ti3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15843 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_v1ti_shift (ASHIFT, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V1TImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15848 */
rtx
gen_lshrv1ti3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15854 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_v1ti_shift (LSHIFTRT, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V1TImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15859 */
rtx
gen_ashrv1ti3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15865 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_v1ti_ashiftrt (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V1TImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15870 */
rtx
gen_rotlv1ti3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15876 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_v1ti_rotate (ROTATE, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATE (V1TImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15881 */
rtx
gen_rotrv1ti3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15887 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_v1ti_rotate (ROTATERT, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (V1TImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_smaxv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMAX, V32QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V32QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_sminv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMIN, V32QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V32QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_umaxv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMAX, V32QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMAX (V32QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_uminv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMIN, V32QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMIN (V32QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_smaxv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMAX, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V16HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_sminv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMIN, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V16HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_umaxv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMAX, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMAX (V16HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_uminv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMIN, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMIN (V16HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_smaxv8si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMAX, V8SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V8SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_sminv8si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMIN, V8SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V8SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_umaxv8si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMAX, V8SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMAX (V8SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_uminv8si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMIN, V8SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMIN (V8SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_smaxv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMAX, V64QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V64QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_sminv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMIN, V64QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V64QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_umaxv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMAX, V64QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMAX (V64QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_uminv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMIN, V64QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMIN (V64QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_smaxv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMAX, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V32HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_sminv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMIN, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V32HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_umaxv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMAX, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMAX (V32HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_uminv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMIN, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMIN (V32HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_smaxv16si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMAX, V16SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V16SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_sminv16si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMIN, V16SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V16SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_umaxv16si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMAX, V16SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMAX (V16SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15954 */
rtx
gen_uminv16si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15960 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMIN, V16SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMIN (V16SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_smaxv64qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_smaxv64qi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_SMAX (V64QImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_sminv64qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sminv64qi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_SMIN (V64QImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_umaxv64qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_umaxv64qi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_UMAX (V64QImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_uminv64qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_uminv64qi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_UMIN (V64QImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_smaxv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_smaxv32qi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_SMAX (V32QImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_sminv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sminv32qi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_SMIN (V32QImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_umaxv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_umaxv32qi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_UMAX (V32QImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_uminv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_uminv32qi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_UMIN (V32QImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_smaxv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_smaxv16qi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_SMAX (V16QImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_sminv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sminv16qi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_SMIN (V16QImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_umaxv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_umaxv16qi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_UMAX (V16QImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_uminv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_uminv16qi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_UMIN (V16QImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_smaxv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_smaxv32hi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_SMAX (V32HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_sminv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sminv32hi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_SMIN (V32HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_umaxv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_umaxv32hi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UMAX (V32HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_uminv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_uminv32hi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UMIN (V32HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_smaxv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_smaxv16hi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_SMAX (V16HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_sminv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sminv16hi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_SMIN (V16HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_umaxv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_umaxv16hi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UMAX (V16HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_uminv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_uminv16hi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UMIN (V16HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_smaxv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_smaxv8hi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_SMAX (V8HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_sminv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sminv8hi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_SMIN (V8HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_umaxv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_umaxv8hi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UMAX (V8HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_uminv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_uminv8hi3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UMIN (V8HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_smaxv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_smaxv16si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_SMAX (V16SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_sminv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sminv16si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_SMIN (V16SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_umaxv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_umaxv16si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UMAX (V16SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_uminv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_uminv16si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UMIN (V16SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_smaxv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_smaxv8si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_SMAX (V8SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_sminv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sminv8si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_SMIN (V8SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_umaxv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_umaxv8si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UMAX (V8SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_uminv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_uminv8si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UMIN (V8SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_smaxv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_smaxv4si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_SMAX (V4SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_sminv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sminv4si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_SMIN (V4SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_umaxv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_umaxv4si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UMAX (V4SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_uminv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_uminv4si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UMIN (V4SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_smaxv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_smaxv8di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_SMAX (V8DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_sminv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sminv8di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_SMIN (V8DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_umaxv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_umaxv8di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UMAX (V8DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_uminv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_uminv8di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UMIN (V8DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_smaxv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_smaxv4di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_SMAX (V4DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_sminv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sminv4di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_SMIN (V4DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_umaxv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_umaxv4di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UMAX (V4DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_uminv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_uminv4di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UMIN (V4DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_smaxv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_smaxv2di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_SMAX (V2DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_sminv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_sminv2di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_SMIN (V2DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_umaxv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_umaxv2di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UMAX (V2DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15974 */
rtx
gen_cond_uminv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 15983 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_uminv2di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UMIN (V2DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_smaxv16si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMAX, V16SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_SMAX (V16SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_sminv16si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMIN, V16SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_SMIN (V16SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_umaxv16si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMAX, V16SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UMAX (V16SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_uminv16si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMIN, V16SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UMIN (V16SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_smaxv8si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMAX, V8SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_SMAX (V8SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_sminv8si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMIN, V8SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_SMIN (V8SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_umaxv8si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMAX, V8SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UMAX (V8SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_uminv8si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMIN, V8SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UMIN (V8SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_smaxv4si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMAX, V4SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_SMAX (V4SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_sminv4si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMIN, V4SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_SMIN (V4SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_umaxv4si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMAX, V4SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UMAX (V4SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_uminv4si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMIN, V4SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UMIN (V4SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_smaxv8di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMAX, V8DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_SMAX (V8DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_sminv8di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMIN, V8DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_SMIN (V8DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_umaxv8di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMAX, V8DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UMAX (V8DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_uminv8di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMIN, V8DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UMIN (V8DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_smaxv4di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMAX, V4DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_SMAX (V4DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_sminv4di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMIN, V4DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_SMIN (V4DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_umaxv4di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMAX, V4DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UMAX (V4DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_uminv4di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMIN, V4DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UMIN (V4DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_smaxv2di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMAX, V2DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_SMAX (V2DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_sminv2di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (SMIN, V2DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_SMIN (V2DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_umaxv2di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMAX, V2DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UMAX (V2DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:15992 */
rtx
gen_uminv2di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16001 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (UMIN, V2DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UMIN (V2DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16026 */
rtx
gen_smaxv8di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX512F
      && (V8DImode == V8DImode || TARGET_AVX512VL))
    ;
  else 
    {
      enum rtx_code code;
      rtx xops[6];
      bool ok;


      xops[0] = operands[0];

      if (SMAX == SMAX || SMAX == UMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      code = (SMAX == UMAX || SMAX == UMIN) ? GTU : GT;

      xops[3] = gen_rtx_fmt_ee (code, VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V8DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16026 */
rtx
gen_sminv8di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX512F
      && (V8DImode == V8DImode || TARGET_AVX512VL))
    ;
  else 
    {
      enum rtx_code code;
      rtx xops[6];
      bool ok;


      xops[0] = operands[0];

      if (SMIN == SMAX || SMIN == UMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      code = (SMIN == UMAX || SMIN == UMIN) ? GTU : GT;

      xops[3] = gen_rtx_fmt_ee (code, VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V8DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16026 */
rtx
gen_umaxv8di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX512F
      && (V8DImode == V8DImode || TARGET_AVX512VL))
    ;
  else 
    {
      enum rtx_code code;
      rtx xops[6];
      bool ok;


      xops[0] = operands[0];

      if (UMAX == SMAX || UMAX == UMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      code = (UMAX == UMAX || UMAX == UMIN) ? GTU : GT;

      xops[3] = gen_rtx_fmt_ee (code, VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMAX (V8DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16026 */
rtx
gen_uminv8di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX512F
      && (V8DImode == V8DImode || TARGET_AVX512VL))
    ;
  else 
    {
      enum rtx_code code;
      rtx xops[6];
      bool ok;


      xops[0] = operands[0];

      if (UMIN == SMAX || UMIN == UMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      code = (UMIN == UMAX || UMIN == UMIN) ? GTU : GT;

      xops[3] = gen_rtx_fmt_ee (code, VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMIN (V8DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16026 */
rtx
gen_smaxv4di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX512F
      && (V4DImode == V8DImode || TARGET_AVX512VL))
    ;
  else 
    {
      enum rtx_code code;
      rtx xops[6];
      bool ok;


      xops[0] = operands[0];

      if (SMAX == SMAX || SMAX == UMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      code = (SMAX == UMAX || SMAX == UMIN) ? GTU : GT;

      xops[3] = gen_rtx_fmt_ee (code, VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V4DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16026 */
rtx
gen_sminv4di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX512F
      && (V4DImode == V8DImode || TARGET_AVX512VL))
    ;
  else 
    {
      enum rtx_code code;
      rtx xops[6];
      bool ok;


      xops[0] = operands[0];

      if (SMIN == SMAX || SMIN == UMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      code = (SMIN == UMAX || SMIN == UMIN) ? GTU : GT;

      xops[3] = gen_rtx_fmt_ee (code, VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V4DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16026 */
rtx
gen_umaxv4di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX512F
      && (V4DImode == V8DImode || TARGET_AVX512VL))
    ;
  else 
    {
      enum rtx_code code;
      rtx xops[6];
      bool ok;


      xops[0] = operands[0];

      if (UMAX == SMAX || UMAX == UMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      code = (UMAX == UMAX || UMAX == UMIN) ? GTU : GT;

      xops[3] = gen_rtx_fmt_ee (code, VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMAX (V4DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16026 */
rtx
gen_uminv4di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX512F
      && (V4DImode == V8DImode || TARGET_AVX512VL))
    ;
  else 
    {
      enum rtx_code code;
      rtx xops[6];
      bool ok;


      xops[0] = operands[0];

      if (UMIN == SMAX || UMIN == UMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      code = (UMIN == UMAX || UMIN == UMIN) ? GTU : GT;

      xops[3] = gen_rtx_fmt_ee (code, VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMIN (V4DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16026 */
rtx
gen_smaxv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX512F
      && (V2DImode == V8DImode || TARGET_AVX512VL))
    ;
  else 
    {
      enum rtx_code code;
      rtx xops[6];
      bool ok;


      xops[0] = operands[0];

      if (SMAX == SMAX || SMAX == UMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      code = (SMAX == UMAX || SMAX == UMIN) ? GTU : GT;

      xops[3] = gen_rtx_fmt_ee (code, VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V2DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16026 */
rtx
gen_sminv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX512F
      && (V2DImode == V8DImode || TARGET_AVX512VL))
    ;
  else 
    {
      enum rtx_code code;
      rtx xops[6];
      bool ok;


      xops[0] = operands[0];

      if (SMIN == SMAX || SMIN == UMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      code = (SMIN == UMAX || SMIN == UMIN) ? GTU : GT;

      xops[3] = gen_rtx_fmt_ee (code, VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V2DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16026 */
rtx
gen_umaxv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX512F
      && (V2DImode == V8DImode || TARGET_AVX512VL))
    ;
  else 
    {
      enum rtx_code code;
      rtx xops[6];
      bool ok;


      xops[0] = operands[0];

      if (UMAX == SMAX || UMAX == UMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      code = (UMAX == UMAX || UMAX == UMIN) ? GTU : GT;

      xops[3] = gen_rtx_fmt_ee (code, VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMAX (V2DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16026 */
rtx
gen_uminv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16032 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_AVX512F
      && (V2DImode == V8DImode || TARGET_AVX512VL))
    ;
  else 
    {
      enum rtx_code code;
      rtx xops[6];
      bool ok;


      xops[0] = operands[0];

      if (UMIN == SMAX || UMIN == UMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      code = (UMIN == UMAX || UMIN == UMIN) ? GTU : GT;

      xops[3] = gen_rtx_fmt_ee (code, VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMIN (V2DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16068 */
rtx
gen_smaxv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16074 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE4_1 || V16QImode == V8HImode)
    ix86_fixup_binary_operands_no_copy (SMAX, V16QImode, operands);
  else
    {
      rtx xops[6];
      bool ok;

      xops[0] = operands[0];
      operands[1] = force_reg (V16QImode, operands[1]);
      operands[2] = force_reg (V16QImode, operands[2]);

      if (SMAX == SMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      xops[3] = gen_rtx_GT (VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16068 */
rtx
gen_sminv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16074 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE4_1 || V16QImode == V8HImode)
    ix86_fixup_binary_operands_no_copy (SMIN, V16QImode, operands);
  else
    {
      rtx xops[6];
      bool ok;

      xops[0] = operands[0];
      operands[1] = force_reg (V16QImode, operands[1]);
      operands[2] = force_reg (V16QImode, operands[2]);

      if (SMIN == SMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      xops[3] = gen_rtx_GT (VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16068 */
rtx
gen_smaxv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16074 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE4_1 || V8HImode == V8HImode)
    ix86_fixup_binary_operands_no_copy (SMAX, V8HImode, operands);
  else
    {
      rtx xops[6];
      bool ok;

      xops[0] = operands[0];
      operands[1] = force_reg (V8HImode, operands[1]);
      operands[2] = force_reg (V8HImode, operands[2]);

      if (SMAX == SMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      xops[3] = gen_rtx_GT (VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V8HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16068 */
rtx
gen_sminv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16074 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE4_1 || V8HImode == V8HImode)
    ix86_fixup_binary_operands_no_copy (SMIN, V8HImode, operands);
  else
    {
      rtx xops[6];
      bool ok;

      xops[0] = operands[0];
      operands[1] = force_reg (V8HImode, operands[1]);
      operands[2] = force_reg (V8HImode, operands[2]);

      if (SMIN == SMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      xops[3] = gen_rtx_GT (VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V8HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16068 */
rtx
gen_smaxv4si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16074 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE4_1 || V4SImode == V8HImode)
    ix86_fixup_binary_operands_no_copy (SMAX, V4SImode, operands);
  else
    {
      rtx xops[6];
      bool ok;

      xops[0] = operands[0];
      operands[1] = force_reg (V4SImode, operands[1]);
      operands[2] = force_reg (V4SImode, operands[2]);

      if (SMAX == SMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      xops[3] = gen_rtx_GT (VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMAX (V4SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16068 */
rtx
gen_sminv4si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16074 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE4_1 || V4SImode == V8HImode)
    ix86_fixup_binary_operands_no_copy (SMIN, V4SImode, operands);
  else
    {
      rtx xops[6];
      bool ok;

      xops[0] = operands[0];
      operands[1] = force_reg (V4SImode, operands[1]);
      operands[2] = force_reg (V4SImode, operands[2]);

      if (SMIN == SMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      xops[3] = gen_rtx_GT (VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SMIN (V4SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16141 */
rtx
gen_umaxv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16147 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE4_1 || V16QImode == V16QImode)
    ix86_fixup_binary_operands_no_copy (UMAX, V16QImode, operands);
  else if (UMAX == UMAX && V16QImode == V8HImode)
    {
      rtx op0 = operands[0], op2 = operands[2], op3 = op0;
      operands[1] = force_reg (V16QImode, operands[1]);
      if (rtx_equal_p (op3, op2))
	op3 = gen_reg_rtx (V8HImode);
      emit_insn (gen_sse2_ussubv8hi3 (op3, operands[1], op2));
      emit_insn (gen_addv8hi3 (op0, op3, op2));
      DONE;
    }
  else
    {
      rtx xops[6];
      bool ok;

      operands[1] = force_reg (V16QImode, operands[1]);
      operands[2] = force_reg (V16QImode, operands[2]);

      xops[0] = operands[0];

      if (UMAX == UMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      xops[3] = gen_rtx_GTU (VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMAX (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16141 */
rtx
gen_uminv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16147 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE4_1 || V16QImode == V16QImode)
    ix86_fixup_binary_operands_no_copy (UMIN, V16QImode, operands);
  else if (UMIN == UMAX && V16QImode == V8HImode)
    {
      rtx op0 = operands[0], op2 = operands[2], op3 = op0;
      operands[1] = force_reg (V16QImode, operands[1]);
      if (rtx_equal_p (op3, op2))
	op3 = gen_reg_rtx (V8HImode);
      emit_insn (gen_sse2_ussubv8hi3 (op3, operands[1], op2));
      emit_insn (gen_addv8hi3 (op0, op3, op2));
      DONE;
    }
  else
    {
      rtx xops[6];
      bool ok;

      operands[1] = force_reg (V16QImode, operands[1]);
      operands[2] = force_reg (V16QImode, operands[2]);

      xops[0] = operands[0];

      if (UMIN == UMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      xops[3] = gen_rtx_GTU (VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMIN (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16141 */
rtx
gen_umaxv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16147 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE4_1 || V8HImode == V16QImode)
    ix86_fixup_binary_operands_no_copy (UMAX, V8HImode, operands);
  else if (UMAX == UMAX && V8HImode == V8HImode)
    {
      rtx op0 = operands[0], op2 = operands[2], op3 = op0;
      operands[1] = force_reg (V8HImode, operands[1]);
      if (rtx_equal_p (op3, op2))
	op3 = gen_reg_rtx (V8HImode);
      emit_insn (gen_sse2_ussubv8hi3 (op3, operands[1], op2));
      emit_insn (gen_addv8hi3 (op0, op3, op2));
      DONE;
    }
  else
    {
      rtx xops[6];
      bool ok;

      operands[1] = force_reg (V8HImode, operands[1]);
      operands[2] = force_reg (V8HImode, operands[2]);

      xops[0] = operands[0];

      if (UMAX == UMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      xops[3] = gen_rtx_GTU (VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMAX (V8HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16141 */
rtx
gen_uminv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16147 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE4_1 || V8HImode == V16QImode)
    ix86_fixup_binary_operands_no_copy (UMIN, V8HImode, operands);
  else if (UMIN == UMAX && V8HImode == V8HImode)
    {
      rtx op0 = operands[0], op2 = operands[2], op3 = op0;
      operands[1] = force_reg (V8HImode, operands[1]);
      if (rtx_equal_p (op3, op2))
	op3 = gen_reg_rtx (V8HImode);
      emit_insn (gen_sse2_ussubv8hi3 (op3, operands[1], op2));
      emit_insn (gen_addv8hi3 (op0, op3, op2));
      DONE;
    }
  else
    {
      rtx xops[6];
      bool ok;

      operands[1] = force_reg (V8HImode, operands[1]);
      operands[2] = force_reg (V8HImode, operands[2]);

      xops[0] = operands[0];

      if (UMIN == UMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      xops[3] = gen_rtx_GTU (VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMIN (V8HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16141 */
rtx
gen_umaxv4si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16147 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE4_1 || V4SImode == V16QImode)
    ix86_fixup_binary_operands_no_copy (UMAX, V4SImode, operands);
  else if (UMAX == UMAX && V4SImode == V8HImode)
    {
      rtx op0 = operands[0], op2 = operands[2], op3 = op0;
      operands[1] = force_reg (V4SImode, operands[1]);
      if (rtx_equal_p (op3, op2))
	op3 = gen_reg_rtx (V8HImode);
      emit_insn (gen_sse2_ussubv8hi3 (op3, operands[1], op2));
      emit_insn (gen_addv8hi3 (op0, op3, op2));
      DONE;
    }
  else
    {
      rtx xops[6];
      bool ok;

      operands[1] = force_reg (V4SImode, operands[1]);
      operands[2] = force_reg (V4SImode, operands[2]);

      xops[0] = operands[0];

      if (UMAX == UMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      xops[3] = gen_rtx_GTU (VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMAX (V4SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16141 */
rtx
gen_uminv4si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16147 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_SSE4_1 || V4SImode == V16QImode)
    ix86_fixup_binary_operands_no_copy (UMIN, V4SImode, operands);
  else if (UMIN == UMAX && V4SImode == V8HImode)
    {
      rtx op0 = operands[0], op2 = operands[2], op3 = op0;
      operands[1] = force_reg (V4SImode, operands[1]);
      if (rtx_equal_p (op3, op2))
	op3 = gen_reg_rtx (V8HImode);
      emit_insn (gen_sse2_ussubv8hi3 (op3, operands[1], op2));
      emit_insn (gen_addv8hi3 (op0, op3, op2));
      DONE;
    }
  else
    {
      rtx xops[6];
      bool ok;

      operands[1] = force_reg (V4SImode, operands[1]);
      operands[2] = force_reg (V4SImode, operands[2]);

      xops[0] = operands[0];

      if (UMIN == UMAX)
	{
	  xops[1] = operands[1];
	  xops[2] = operands[2];
	}
      else
	{
	  xops[1] = operands[2];
	  xops[2] = operands[1];
	}

      xops[3] = gen_rtx_GTU (VOIDmode, operands[1], operands[2]);
      xops[4] = operands[1];
      xops[5] = operands[2];

      ok = ix86_expand_int_vcond (xops);
      gcc_assert (ok);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UMIN (V4SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16243 */
extern rtx_insn *gen_split_2499 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2499 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2499 (sse.md:16243)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16266 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 1)
    std::swap (operands[3], operands[4]);
  enum rtx_code code = INTVAL (operands[5]) ? GT : EQ;
  emit_move_insn (operands[0], gen_rtx_fmt_ee (code, V16QImode,
					       operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16243 */
extern rtx_insn *gen_split_2500 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2500 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2500 (sse.md:16243)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16266 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 1)
    std::swap (operands[3], operands[4]);
  enum rtx_code code = INTVAL (operands[5]) ? GT : EQ;
  emit_move_insn (operands[0], gen_rtx_fmt_ee (code, V8HImode,
					       operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16243 */
extern rtx_insn *gen_split_2501 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2501 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2501 (sse.md:16243)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16266 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 1)
    std::swap (operands[3], operands[4]);
  enum rtx_code code = INTVAL (operands[5]) ? GT : EQ;
  emit_move_insn (operands[0], gen_rtx_fmt_ee (code, V4SImode,
					       operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16243 */
extern rtx_insn *gen_split_2502 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2502 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2502 (sse.md:16243)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16266 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 1)
    std::swap (operands[3], operands[4]);
  enum rtx_code code = INTVAL (operands[5]) ? GT : EQ;
  emit_move_insn (operands[0], gen_rtx_fmt_ee (code, V2DImode,
					       operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16243 */
extern rtx_insn *gen_split_2503 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2503 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2503 (sse.md:16243)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16266 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 1)
    std::swap (operands[3], operands[4]);
  enum rtx_code code = INTVAL (operands[5]) ? GT : EQ;
  emit_move_insn (operands[0], gen_rtx_fmt_ee (code, V32QImode,
					       operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16243 */
extern rtx_insn *gen_split_2504 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2504 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2504 (sse.md:16243)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16266 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 1)
    std::swap (operands[3], operands[4]);
  enum rtx_code code = INTVAL (operands[5]) ? GT : EQ;
  emit_move_insn (operands[0], gen_rtx_fmt_ee (code, V16HImode,
					       operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16243 */
extern rtx_insn *gen_split_2505 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2505 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2505 (sse.md:16243)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16266 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 1)
    std::swap (operands[3], operands[4]);
  enum rtx_code code = INTVAL (operands[5]) ? GT : EQ;
  emit_move_insn (operands[0], gen_rtx_fmt_ee (code, V8SImode,
					       operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16243 */
extern rtx_insn *gen_split_2506 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2506 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2506 (sse.md:16243)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16266 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 1)
    std::swap (operands[3], operands[4]);
  enum rtx_code code = INTVAL (operands[5]) ? GT : EQ;
  emit_move_insn (operands[0], gen_rtx_fmt_ee (code, V4DImode,
					       operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16275 */
extern rtx_insn *gen_split_2507 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2507 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2507 (sse.md:16275)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16299 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[3], operands[4]);
  enum rtx_code code = INTVAL (operands[5]) != 4 ? GT : EQ;
  emit_move_insn (operands[0], gen_rtx_fmt_ee (code, V16QImode,
					       operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16275 */
extern rtx_insn *gen_split_2508 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2508 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2508 (sse.md:16275)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16299 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[3], operands[4]);
  enum rtx_code code = INTVAL (operands[5]) != 4 ? GT : EQ;
  emit_move_insn (operands[0], gen_rtx_fmt_ee (code, V8HImode,
					       operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16275 */
extern rtx_insn *gen_split_2509 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2509 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2509 (sse.md:16275)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16299 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[3], operands[4]);
  enum rtx_code code = INTVAL (operands[5]) != 4 ? GT : EQ;
  emit_move_insn (operands[0], gen_rtx_fmt_ee (code, V4SImode,
					       operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16275 */
extern rtx_insn *gen_split_2510 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2510 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2510 (sse.md:16275)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16299 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[3], operands[4]);
  enum rtx_code code = INTVAL (operands[5]) != 4 ? GT : EQ;
  emit_move_insn (operands[0], gen_rtx_fmt_ee (code, V2DImode,
					       operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16275 */
extern rtx_insn *gen_split_2511 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2511 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2511 (sse.md:16275)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16299 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[3], operands[4]);
  enum rtx_code code = INTVAL (operands[5]) != 4 ? GT : EQ;
  emit_move_insn (operands[0], gen_rtx_fmt_ee (code, V32QImode,
					       operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16275 */
extern rtx_insn *gen_split_2512 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2512 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2512 (sse.md:16275)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16299 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[3], operands[4]);
  enum rtx_code code = INTVAL (operands[5]) != 4 ? GT : EQ;
  emit_move_insn (operands[0], gen_rtx_fmt_ee (code, V16HImode,
					       operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16275 */
extern rtx_insn *gen_split_2513 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2513 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2513 (sse.md:16275)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16299 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[3], operands[4]);
  enum rtx_code code = INTVAL (operands[5]) != 4 ? GT : EQ;
  emit_move_insn (operands[0], gen_rtx_fmt_ee (code, V8SImode,
					       operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16275 */
extern rtx_insn *gen_split_2514 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2514 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2514 (sse.md:16275)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16299 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[3], operands[4]);
  enum rtx_code code = INTVAL (operands[5]) != 4 ? GT : EQ;
  emit_move_insn (operands[0], gen_rtx_fmt_ee (code, V4DImode,
					       operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16308 */
extern rtx_insn *gen_split_2515 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2515 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2515 (sse.md:16308)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16332 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[1], operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand2,
		operand1,
		gen_rtx_LT (V32QImode,
	operand3,
	operand4)),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16308 */
extern rtx_insn *gen_split_2516 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2516 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2516 (sse.md:16308)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16332 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[1], operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand2,
		operand1,
		gen_rtx_LT (V16QImode,
	operand3,
	operand4)),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16337 */
extern rtx_insn *gen_split_2517 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2517 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2517 (sse.md:16337)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16363 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[1], operands[2]);
  operands[3] = gen_lowpart (V32QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_LT (V32QImode,
	operand3,
	operand4)),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16337 */
extern rtx_insn *gen_split_2518 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2518 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2518 (sse.md:16337)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16363 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[1], operands[2]);
  operands[3] = gen_lowpart (V16QImode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_LT (V16QImode,
	operand3,
	operand4)),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16369 */
extern rtx_insn *gen_split_2519 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2519 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2519 (sse.md:16369)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16393 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[1], operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_LT (V32QImode,
	operand3,
	operand4)),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16369 */
extern rtx_insn *gen_split_2520 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2520 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2520 (sse.md:16369)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16393 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[5]) == 5)
    std::swap (operands[1], operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_LT (V16QImode,
	operand3,
	operand4)),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16398 */
rtx
gen_avx512bw_eqv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16406 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V64QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16398 */
rtx
gen_avx512bw_eqv64qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16406 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V64QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (DImode,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16398 */
rtx
gen_avx512vl_eqv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16406 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V16QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16398 */
rtx
gen_avx512vl_eqv16qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16406 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V16QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16398 */
rtx
gen_avx512vl_eqv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16406 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V32QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16398 */
rtx
gen_avx512vl_eqv32qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16406 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V32QImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16398 */
rtx
gen_avx512bw_eqv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16406 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16398 */
rtx
gen_avx512bw_eqv32hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16406 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V32HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16398 */
rtx
gen_avx512vl_eqv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16406 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16398 */
rtx
gen_avx512vl_eqv16hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16406 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V16HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16398 */
rtx
gen_avx512vl_eqv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16406 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V8HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16398 */
rtx
gen_avx512vl_eqv8hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16406 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V8HImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16408 */
rtx
gen_avx512f_eqv16si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16416 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V16SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16408 */
rtx
gen_avx512f_eqv16si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16416 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V16SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16408 */
rtx
gen_avx512vl_eqv8si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16416 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V8SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16408 */
rtx
gen_avx512vl_eqv8si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16416 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V8SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16408 */
rtx
gen_avx512vl_eqv4si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16416 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V4SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16408 */
rtx
gen_avx512vl_eqv4si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16416 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V4SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16408 */
rtx
gen_avx512f_eqv8di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16416 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V8DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16408 */
rtx
gen_avx512f_eqv8di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16416 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V8DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16408 */
rtx
gen_avx512vl_eqv4di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16416 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V4DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16408 */
rtx
gen_avx512vl_eqv4di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16416 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V4DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16408 */
rtx
gen_avx512vl_eqv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16416 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V2DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16408 */
rtx
gen_avx512vl_eqv2di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16416 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (EQ, V2DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const0_rtx),
	52),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16478 */
rtx
gen_avx512f_gtv16si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16478 */
rtx
gen_avx512f_gtv16si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16478 */
rtx
gen_avx512vl_gtv8si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16478 */
rtx
gen_avx512vl_gtv8si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16478 */
rtx
gen_avx512vl_gtv4si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16478 */
rtx
gen_avx512vl_gtv4si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16478 */
rtx
gen_avx512f_gtv8di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16478 */
rtx
gen_avx512f_gtv8di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16478 */
rtx
gen_avx512vl_gtv4di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16478 */
rtx
gen_avx512vl_gtv4di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16478 */
rtx
gen_avx512vl_gtv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16478 */
rtx
gen_avx512vl_gtv2di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16486 */
rtx
gen_avx512bw_gtv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16486 */
rtx
gen_avx512bw_gtv64qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (DImode,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16486 */
rtx
gen_avx512vl_gtv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16486 */
rtx
gen_avx512vl_gtv16qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16486 */
rtx
gen_avx512vl_gtv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16486 */
rtx
gen_avx512vl_gtv32qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16486 */
rtx
gen_avx512bw_gtv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16486 */
rtx
gen_avx512bw_gtv32hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (SImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16486 */
rtx
gen_avx512vl_gtv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16486 */
rtx
gen_avx512vl_gtv16hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (HImode,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16486 */
rtx
gen_avx512vl_gtv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16486 */
rtx
gen_avx512vl_gtv8hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (QImode,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		const_int_rtx[MAX_SAVED_CONST_INT + (6)]),
	52),
	operand3));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv64qiv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv64qiv16si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V64QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv64qiv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv64qiv8di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V64QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv64qiv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv64qiv32hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V64QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv64qiv64qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv64qiv64qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V64QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv32hiv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv32hiv16si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv32hiv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv32hiv8di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv32hiv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv32hiv32hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv32hiv64qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv32hiv64qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv16siv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16siv16si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv16siv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16siv8di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv16siv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16siv32hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv16siv64qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16siv64qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv8div16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8div16si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv8div8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8div8di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv8div32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8div32hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv8div64qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8div64qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv16sfv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16sfv16si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv16sfv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16sfv8di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv16sfv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16sfv32hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv16sfv64qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16sfv64qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv8dfv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8dfv16si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv8dfv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8dfv8di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv8dfv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8dfv32hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16509 */
rtx
gen_vcondv8dfv64qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8dfv64qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16520 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv32qiv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv32qiv32qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv32qiv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv32qiv16hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv32qiv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv32qiv8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv32qiv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv32qiv4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv16hiv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16hiv32qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv16hiv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16hiv16hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv16hiv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16hiv8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv16hiv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16hiv4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv8siv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8siv32qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv8siv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8siv16hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv8siv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8siv8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv8siv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8siv4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv4div32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4div32qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv4div16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4div16hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv4div8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4div8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv4div4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4div4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv8sfv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8sfv32qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv8sfv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8sfv16hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv8sfv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8sfv8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv8sfv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8sfv4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv4dfv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4dfv32qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv4dfv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4dfv16hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv4dfv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4dfv8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16526 */
rtx
gen_vcondv4dfv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4dfv4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16537 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16543 */
rtx
gen_vcondv16qiv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16qiv16qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16543 */
rtx
gen_vcondv8hiv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8hiv16qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16543 */
rtx
gen_vcondv4siv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4siv16qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16543 */
rtx
gen_vcondv2div16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2div16qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16543 */
rtx
gen_vcondv4sfv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4sfv16qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16543 */
rtx
gen_vcondv2dfv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2dfv16qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16543 */
rtx
gen_vcondv16qiv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16qiv8hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16543 */
rtx
gen_vcondv8hiv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8hiv8hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16543 */
rtx
gen_vcondv4siv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4siv8hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16543 */
rtx
gen_vcondv2div8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2div8hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16543 */
rtx
gen_vcondv4sfv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4sfv8hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16543 */
rtx
gen_vcondv2dfv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2dfv8hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16543 */
rtx
gen_vcondv16qiv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv16qiv4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16543 */
rtx
gen_vcondv8hiv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv8hiv4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16543 */
rtx
gen_vcondv4siv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4siv4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16543 */
rtx
gen_vcondv2div4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2div4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16543 */
rtx
gen_vcondv4sfv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv4sfv4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16543 */
rtx
gen_vcondv2dfv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2dfv4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16560 */
rtx
gen_vcondv2div2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2div2di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16569 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16560 */
rtx
gen_vcondv2dfv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondv2dfv2di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16569 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv64qiv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv64qiv16si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V64QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv64qiv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv64qiv8di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V64QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv64qiv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv64qiv32hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V64QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv64qiv64qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv64qiv64qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V64QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv32hiv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv32hiv16si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv32hiv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv32hiv8di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv32hiv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv32hiv32hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv32hiv64qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv32hiv64qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv16siv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv16siv16si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv16siv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv16siv8di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv16siv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv16siv32hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv16siv64qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv16siv64qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv8div16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8div16si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv8div8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8div8di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv8div32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8div32hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv8div64qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8div64qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv16sfv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv16sfv16si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv16sfv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv16sfv8di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv16sfv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv16sfv32hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv16sfv64qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv16sfv64qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv8dfv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8dfv16si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv8dfv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8dfv8di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv8dfv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8dfv32hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16575 */
rtx
gen_vconduv8dfv64qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8dfv64qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv32qiv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv32qiv32qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv32qiv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv32qiv16hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv32qiv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv32qiv8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv32qiv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv32qiv4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv16hiv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv16hiv32qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv16hiv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv16hiv16hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv16hiv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv16hiv8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv16hiv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv16hiv4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv8siv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8siv32qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv8siv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8siv16hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv8siv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8siv8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv8siv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8siv4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv4div32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv4div32qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv4div16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv4div16hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv4div8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv4div8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv4div4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv4div4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv8sfv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8sfv32qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv8sfv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8sfv16hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv8sfv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8sfv8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv8sfv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8sfv4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv4dfv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv4dfv32qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv4dfv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv4dfv16hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv4dfv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv4dfv8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16592 */
rtx
gen_vconduv4dfv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv4dfv4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16603 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16609 */
rtx
gen_vconduv16qiv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv16qiv16qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16620 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16609 */
rtx
gen_vconduv8hiv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8hiv16qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16620 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16609 */
rtx
gen_vconduv4siv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv4siv16qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16620 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16609 */
rtx
gen_vconduv2div16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv2div16qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16620 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16609 */
rtx
gen_vconduv4sfv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv4sfv16qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16620 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16609 */
rtx
gen_vconduv2dfv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv2dfv16qi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16620 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16609 */
rtx
gen_vconduv16qiv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv16qiv8hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16620 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16609 */
rtx
gen_vconduv8hiv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8hiv8hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16620 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16609 */
rtx
gen_vconduv4siv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv4siv8hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16620 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16609 */
rtx
gen_vconduv2div8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv2div8hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16620 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16609 */
rtx
gen_vconduv4sfv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv4sfv8hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16620 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16609 */
rtx
gen_vconduv2dfv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv2dfv8hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16620 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16609 */
rtx
gen_vconduv16qiv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv16qiv4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16620 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16QImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16609 */
rtx
gen_vconduv8hiv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8hiv4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16620 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8HImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16609 */
rtx
gen_vconduv4siv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv4siv4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16620 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4SImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16609 */
rtx
gen_vconduv2div4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv2div4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16620 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16609 */
rtx
gen_vconduv4sfv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv4sfv4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16620 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V4SFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16609 */
rtx
gen_vconduv2dfv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv2dfv4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16620 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16626 */
rtx
gen_vconduv2div2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv2div2di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16635 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16626 */
rtx
gen_vconduv2dfv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv2dfv2di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16635 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16641 */
rtx
gen_vconduv32hfv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv32hfv32hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16650 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V32HFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16641 */
rtx
gen_vconduv16hfv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv16hfv16hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16650 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V16HFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16641 */
rtx
gen_vconduv8hfv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vconduv8hfv8hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16650 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V8HFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16656 */
rtx
gen_vcondeqv2div2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondeqv2div2di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16665 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DImode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16656 */
rtx
gen_vcondeqv2dfv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL _Pragma ("GCC error \"vcondeqv2dfv2di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16665 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  bool ok = ix86_expand_int_vcond (operands);
  gcc_assert (ok);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IF_THEN_ELSE (V2DFmode,
	gen_rtx_fmt_ee (GET_CODE (operand3), VOIDmode,
		operand4,
		operand5),
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16683 */
rtx
gen_vec_permv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vec_perm (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16683 */
rtx
gen_vec_permv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vec_perm (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16683 */
rtx
gen_vec_permv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vec_perm (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16683 */
rtx
gen_vec_permv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vec_perm (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16683 */
rtx
gen_vec_permv4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vec_perm (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16683 */
rtx
gen_vec_permv2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vec_perm (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16683 */
rtx
gen_vec_permv8hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vec_perm (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16683 */
rtx
gen_vec_permv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vec_perm (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16683 */
rtx
gen_vec_permv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vec_perm (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16683 */
rtx
gen_vec_permv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vec_perm (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16683 */
rtx
gen_vec_permv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vec_perm (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16683 */
rtx
gen_vec_permv8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vec_perm (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16683 */
rtx
gen_vec_permv4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vec_perm (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16683 */
rtx
gen_vec_permv16hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vec_perm (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16683 */
rtx
gen_vec_permv16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vec_perm (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16683 */
rtx
gen_vec_permv8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vec_perm (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16683 */
rtx
gen_vec_permv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vec_perm (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16683 */
rtx
gen_vec_permv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vec_perm (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16683 */
rtx
gen_vec_permv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vec_perm (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16683 */
rtx
gen_vec_permv64qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vec_perm (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16683 */
rtx
gen_vec_permv32hf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vec_perm (operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16700 */
rtx
gen_one_cmplv16si2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16705 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = CONSTM1_RTX (V16SImode);

  if (!TARGET_AVX512F)
    operands[2] = force_reg (V16SImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V16SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16700 */
rtx
gen_one_cmplv8di2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16705 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = CONSTM1_RTX (V8DImode);

  if (!TARGET_AVX512F)
    operands[2] = force_reg (V8DImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V8DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16700 */
rtx
gen_one_cmplv64qi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16705 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = CONSTM1_RTX (V64QImode);

  if (!TARGET_AVX512F)
    operands[2] = force_reg (V64QImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V64QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16700 */
rtx
gen_one_cmplv32qi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16705 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = CONSTM1_RTX (V32QImode);

  if (!TARGET_AVX512F)
    operands[2] = force_reg (V32QImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V32QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16700 */
rtx
gen_one_cmplv16qi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16705 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = CONSTM1_RTX (V16QImode);

  if (!TARGET_AVX512F)
    operands[2] = force_reg (V16QImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16700 */
rtx
gen_one_cmplv32hi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16705 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = CONSTM1_RTX (V32HImode);

  if (!TARGET_AVX512F)
    operands[2] = force_reg (V32HImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V32HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16700 */
rtx
gen_one_cmplv16hi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16705 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = CONSTM1_RTX (V16HImode);

  if (!TARGET_AVX512F)
    operands[2] = force_reg (V16HImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V16HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16700 */
rtx
gen_one_cmplv8hi2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16705 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = CONSTM1_RTX (V8HImode);

  if (!TARGET_AVX512F)
    operands[2] = force_reg (V8HImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V8HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16700 */
rtx
gen_one_cmplv8si2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16705 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = CONSTM1_RTX (V8SImode);

  if (!TARGET_AVX512F)
    operands[2] = force_reg (V8SImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V8SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16700 */
rtx
gen_one_cmplv4si2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16705 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = CONSTM1_RTX (V4SImode);

  if (!TARGET_AVX512F)
    operands[2] = force_reg (V4SImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V4SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16700 */
rtx
gen_one_cmplv4di2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16705 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = CONSTM1_RTX (V4DImode);

  if (!TARGET_AVX512F)
    operands[2] = force_reg (V4DImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V4DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16700 */
rtx
gen_one_cmplv2di2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16705 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = CONSTM1_RTX (V2DImode);

  if (!TARGET_AVX512F)
    operands[2] = force_reg (V2DImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V2DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16737 */
rtx
gen_avx512bw_andnotv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V64QImode,
	gen_rtx_NOT (V64QImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16737 */
rtx
gen_avx2_andnotv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V32QImode,
	gen_rtx_NOT (V32QImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16737 */
rtx
gen_sse2_andnotv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V16QImode,
	gen_rtx_NOT (V16QImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16737 */
rtx
gen_avx512bw_andnotv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V32HImode,
	gen_rtx_NOT (V32HImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16737 */
rtx
gen_avx2_andnotv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V16HImode,
	gen_rtx_NOT (V16HImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16737 */
rtx
gen_sse2_andnotv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V8HImode,
	gen_rtx_NOT (V8HImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16737 */
rtx
gen_avx512f_andnotv16si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V16SImode,
	gen_rtx_NOT (V16SImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16737 */
rtx
gen_avx2_andnotv8si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V8SImode,
	gen_rtx_NOT (V8SImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16737 */
rtx
gen_sse2_andnotv4si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V4SImode,
	gen_rtx_NOT (V4SImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16737 */
rtx
gen_avx512f_andnotv8di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V8DImode,
	gen_rtx_NOT (V8DImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16737 */
rtx
gen_avx2_andnotv4di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V4DImode,
	gen_rtx_NOT (V4DImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16737 */
rtx
gen_sse2_andnotv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_AND (V2DImode,
	gen_rtx_NOT (V2DImode,
	operand1),
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16744 */
rtx
gen_avx512f_andnotv16si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_AND (V16SImode,
	gen_rtx_NOT (V16SImode,
	operand1),
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16744 */
rtx
gen_avx2_andnotv8si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_AND (V8SImode,
	gen_rtx_NOT (V8SImode,
	operand1),
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16744 */
rtx
gen_sse2_andnotv4si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_AND (V4SImode,
	gen_rtx_NOT (V4SImode,
	operand1),
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16744 */
rtx
gen_avx512f_andnotv8di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_AND (V8DImode,
	gen_rtx_NOT (V8DImode,
	operand1),
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16744 */
rtx
gen_avx2_andnotv4di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_AND (V4DImode,
	gen_rtx_NOT (V4DImode,
	operand1),
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16744 */
rtx
gen_sse2_andnotv2di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_AND (V2DImode,
	gen_rtx_NOT (V2DImode,
	operand1),
	operand2),
	operand3,
	operand4));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16859 */
extern rtx_insn *gen_split_2521 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2521 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2521 (sse.md:16859)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16872 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = gen_reg_rtx (V4SImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_VEC_DUPLICATE (V4SImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V4SImode,
	gen_rtx_NOT (V4SImode,
	copy_rtx (operand3)),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16859 */
extern rtx_insn *gen_split_2522 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2522 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2522 (sse.md:16859)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16872 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = gen_reg_rtx (V2DImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_VEC_DUPLICATE (V2DImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V2DImode,
	gen_rtx_NOT (V2DImode,
	copy_rtx (operand3)),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16875 */
extern rtx_insn *gen_split_2523 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2523 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2523 (sse.md:16875)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16888 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = gen_reg_rtx (V32QImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_VEC_DUPLICATE (V32QImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V32QImode,
	gen_rtx_NOT (V32QImode,
	copy_rtx (operand3)),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16875 */
extern rtx_insn *gen_split_2524 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2524 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2524 (sse.md:16875)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16888 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = gen_reg_rtx (V16QImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_VEC_DUPLICATE (V16QImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V16QImode,
	gen_rtx_NOT (V16QImode,
	copy_rtx (operand3)),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16875 */
extern rtx_insn *gen_split_2525 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2525 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2525 (sse.md:16875)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16888 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = gen_reg_rtx (V16HImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_VEC_DUPLICATE (V16HImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V16HImode,
	gen_rtx_NOT (V16HImode,
	copy_rtx (operand3)),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16875 */
extern rtx_insn *gen_split_2526 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2526 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2526 (sse.md:16875)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16888 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = gen_reg_rtx (V8HImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_VEC_DUPLICATE (V8HImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V8HImode,
	gen_rtx_NOT (V8HImode,
	copy_rtx (operand3)),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16875 */
extern rtx_insn *gen_split_2527 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2527 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2527 (sse.md:16875)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16888 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = gen_reg_rtx (V8SImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_VEC_DUPLICATE (V8SImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V8SImode,
	gen_rtx_NOT (V8SImode,
	copy_rtx (operand3)),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16875 */
extern rtx_insn *gen_split_2528 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2528 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2528 (sse.md:16875)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16888 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = gen_reg_rtx (V4SImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_VEC_DUPLICATE (V4SImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V4SImode,
	gen_rtx_NOT (V4SImode,
	copy_rtx (operand3)),
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_andv16si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (AND, V16SImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V16SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_iorv16si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (IOR, V16SImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V16SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_xorv16si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (XOR, V16SImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V16SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_andv8di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (AND, V8DImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V8DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_iorv8di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (IOR, V8DImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V8DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_xorv8di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (XOR, V8DImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V8DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_andv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (AND, V64QImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V64QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_iorv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (IOR, V64QImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V64QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_xorv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (XOR, V64QImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V64QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_andv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (AND, V32QImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V32QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_iorv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (IOR, V32QImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V32QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_xorv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (XOR, V32QImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V32QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_andv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (AND, V16QImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_iorv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (IOR, V16QImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_xorv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (XOR, V16QImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_andv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (AND, V32HImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V32HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_iorv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (IOR, V32HImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V32HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_xorv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (XOR, V32HImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V32HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_andv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (AND, V16HImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V16HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_iorv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (IOR, V16HImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V16HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_xorv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (XOR, V16HImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V16HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_andv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (AND, V8HImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V8HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_iorv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (IOR, V8HImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V8HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_xorv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (XOR, V8HImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V8HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_andv8si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (AND, V8SImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V8SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_iorv8si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (IOR, V8SImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V8SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_xorv8si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (XOR, V8SImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V8SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_andv4si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (AND, V4SImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V4SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_iorv4si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (IOR, V4SImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V4SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_xorv4si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (XOR, V4SImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V4SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_andv4di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (AND, V4DImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V4DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_iorv4di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (IOR, V4DImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V4DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_xorv4di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (XOR, V4DImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V4DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_andv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (AND, V2DImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_AND (V2DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_iorv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (IOR, V2DImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (V2DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16905 */
rtx
gen_xorv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16911 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_logical_operator (XOR, V2DImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V2DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16916 */
rtx
gen_cond_andv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_andv16si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16925 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_andv16si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_AND (V16SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16916 */
rtx
gen_cond_iorv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_iorv16si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16925 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_iorv16si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_IOR (V16SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16916 */
rtx
gen_cond_xorv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_xorv16si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16925 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_xorv16si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_XOR (V16SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16916 */
rtx
gen_cond_andv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_andv8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16925 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_andv8si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_AND (V8SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16916 */
rtx
gen_cond_iorv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_iorv8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16925 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_iorv8si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_IOR (V8SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16916 */
rtx
gen_cond_xorv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_xorv8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16925 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_xorv8si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_XOR (V8SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16916 */
rtx
gen_cond_andv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_andv4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16925 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_andv4si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_AND (V4SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16916 */
rtx
gen_cond_iorv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_iorv4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16925 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_iorv4si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_IOR (V4SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16916 */
rtx
gen_cond_xorv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_xorv4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16925 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_xorv4si3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_XOR (V4SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16916 */
rtx
gen_cond_andv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_andv8di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16925 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_andv8di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_AND (V8DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16916 */
rtx
gen_cond_iorv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_iorv8di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16925 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_iorv8di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_IOR (V8DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16916 */
rtx
gen_cond_xorv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_xorv8di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16925 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_xorv8di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_XOR (V8DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16916 */
rtx
gen_cond_andv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_andv4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16925 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_andv4di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_AND (V4DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16916 */
rtx
gen_cond_iorv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_iorv4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16925 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_iorv4di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_IOR (V4DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16916 */
rtx
gen_cond_xorv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_xorv4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16925 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_xorv4di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_XOR (V4DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16916 */
rtx
gen_cond_andv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_andv2di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16925 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_andv2di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_AND (V2DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16916 */
rtx
gen_cond_iorv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_iorv2di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16925 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_iorv2di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_IOR (V2DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16916 */
rtx
gen_cond_xorv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_xorv2di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16925 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_xorv2di3_mask (operands[0],
				     operands[2],
				     operands[3],
				     operands[4],
				     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_XOR (V2DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16934 */
rtx
gen_andv16si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16943 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, V16SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_AND (V16SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16934 */
rtx
gen_iorv16si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16943 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, V16SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_IOR (V16SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16934 */
rtx
gen_xorv16si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16943 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, V16SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_XOR (V16SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16934 */
rtx
gen_andv8si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16943 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, V8SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_AND (V8SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16934 */
rtx
gen_iorv8si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16943 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, V8SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_IOR (V8SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16934 */
rtx
gen_xorv8si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16943 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, V8SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_XOR (V8SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16934 */
rtx
gen_andv4si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16943 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, V4SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_AND (V4SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16934 */
rtx
gen_iorv4si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16943 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, V4SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_IOR (V4SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16934 */
rtx
gen_xorv4si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16943 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, V4SImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_XOR (V4SImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16934 */
rtx
gen_andv8di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16943 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, V8DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_AND (V8DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16934 */
rtx
gen_iorv8di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16943 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, V8DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_IOR (V8DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16934 */
rtx
gen_xorv8di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16943 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, V8DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_XOR (V8DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16934 */
rtx
gen_andv4di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16943 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, V4DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_AND (V4DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16934 */
rtx
gen_iorv4di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16943 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, V4DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_IOR (V4DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16934 */
rtx
gen_xorv4di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16943 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, V4DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_XOR (V4DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16934 */
rtx
gen_andv2di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16943 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (AND, V2DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_AND (V2DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16934 */
rtx
gen_iorv2di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16943 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (IOR, V2DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_IOR (V2DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:16934 */
rtx
gen_xorv2di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 16943 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_fixup_binary_operands_no_copy (XOR, V2DImode, operands);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_XOR (V2DImode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17153 */
rtx
gen_one_cmplv1ti2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17158 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = force_reg (V1TImode, CONSTM1_RTX (V1TImode));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (V1TImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17253 */
rtx
gen_vec_pack_trunc_v32hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17258 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op1 = gen_lowpart (V64QImode, operands[1]);
  rtx op2 = gen_lowpart (V64QImode, operands[2]);
  ix86_expand_vec_extract_even_odd (operands[0], op1, op2, 0);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17253 */
rtx
gen_vec_pack_trunc_v16hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17258 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op1 = gen_lowpart (V32QImode, operands[1]);
  rtx op2 = gen_lowpart (V32QImode, operands[2]);
  ix86_expand_vec_extract_even_odd (operands[0], op1, op2, 0);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17253 */
rtx
gen_vec_pack_trunc_v8hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17258 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op1 = gen_lowpart (V16QImode, operands[1]);
  rtx op2 = gen_lowpart (V16QImode, operands[2]);
  ix86_expand_vec_extract_even_odd (operands[0], op1, op2, 0);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17253 */
rtx
gen_vec_pack_trunc_v16si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17258 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op1 = gen_lowpart (V32HImode, operands[1]);
  rtx op2 = gen_lowpart (V32HImode, operands[2]);
  ix86_expand_vec_extract_even_odd (operands[0], op1, op2, 0);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17253 */
rtx
gen_vec_pack_trunc_v8si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17258 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op1 = gen_lowpart (V16HImode, operands[1]);
  rtx op2 = gen_lowpart (V16HImode, operands[2]);
  ix86_expand_vec_extract_even_odd (operands[0], op1, op2, 0);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17253 */
rtx
gen_vec_pack_trunc_v4si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17258 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op1 = gen_lowpart (V8HImode, operands[1]);
  rtx op2 = gen_lowpart (V8HImode, operands[2]);
  ix86_expand_vec_extract_even_odd (operands[0], op1, op2, 0);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17253 */
rtx
gen_vec_pack_trunc_v8di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17258 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op1 = gen_lowpart (V16SImode, operands[1]);
  rtx op2 = gen_lowpart (V16SImode, operands[2]);
  ix86_expand_vec_extract_even_odd (operands[0], op1, op2, 0);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17253 */
rtx
gen_vec_pack_trunc_v4di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17258 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op1 = gen_lowpart (V8SImode, operands[1]);
  rtx op2 = gen_lowpart (V8SImode, operands[2]);
  ix86_expand_vec_extract_even_odd (operands[0], op1, op2, 0);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17253 */
rtx
gen_vec_pack_trunc_v2di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17258 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op1 = gen_lowpart (V4SImode, operands[1]);
  rtx op2 = gen_lowpart (V4SImode, operands[2]);
  ix86_expand_vec_extract_even_odd (operands[0], op1, op2, 0);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17265 */
rtx
gen_vec_pack_trunc_qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_IOR (HImode,
	gen_rtx_ASHIFT (HImode,
	gen_rtx_ZERO_EXTEND (HImode,
	operand2),
	const_int_rtx[MAX_SAVED_CONST_INT + (8)]),
	gen_rtx_ZERO_EXTEND (HImode,
	operand1)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17272 */
rtx
gen_vec_pack_trunc_hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17282 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = GEN_INT (GET_MODE_BITSIZE (HImode));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (SImode,
	gen_rtx_ASHIFT (SImode,
	gen_rtx_ZERO_EXTEND (SImode,
	operand2),
	operand3),
	gen_rtx_ZERO_EXTEND (SImode,
	operand1))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17272 */
rtx
gen_vec_pack_trunc_si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17282 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = GEN_INT (GET_MODE_BITSIZE (SImode));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_IOR (DImode,
	gen_rtx_ASHIFT (DImode,
	gen_rtx_ZERO_EXTEND (DImode,
	operand2),
	operand3),
	gen_rtx_ZERO_EXTEND (DImode,
	operand1))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17286 */
rtx
gen_vec_pack_sbool_trunc_qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17292 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  HOST_WIDE_INT nunits = INTVAL (operands[3]);
  rtx mask, tem1, tem2;
  if (nunits != 8 && nunits != 4)
    FAIL;
  mask = gen_reg_rtx (QImode);
  emit_move_insn (mask, GEN_INT ((1 << (nunits / 2)) - 1));
  tem1 = gen_reg_rtx (QImode);
  emit_insn (gen_kandqi (tem1, operands[1], mask));
  if (TARGET_AVX512DQ)
    {
      tem2 = gen_reg_rtx (QImode);
      emit_insn (gen_kashiftqi (tem2, operands[2],
				GEN_INT (nunits / 2)));
    }
  else
    {
      tem2 = gen_reg_rtx (HImode);
      emit_insn (gen_kashifthi (tem2, lowpart_subreg (HImode, operands[2],
						      QImode),
				GEN_INT (nunits / 2)));
      tem2 = lowpart_subreg (QImode, tem2, HImode);
    }
  emit_insn (gen_kiorqi (operands[0], tem1, tem2));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17807 */
rtx
gen_vec_interleave_highv32qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17812 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx t1 = gen_reg_rtx (V32QImode);
  rtx t2 = gen_reg_rtx (V32QImode);
  rtx t3 = gen_reg_rtx (V4DImode);
  emit_insn (gen_avx2_interleave_lowv32qi (t1, operands[1], operands[2]));
  emit_insn (gen_avx2_interleave_highv32qi (t2,  operands[1], operands[2]));
  emit_insn (gen_avx2_permv2ti (t3, gen_lowpart (V4DImode, t1),
				gen_lowpart (V4DImode, t2),
				GEN_INT (1 + (3 << 4))));
  emit_move_insn (operands[0], gen_lowpart (V32QImode, t3));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17807 */
rtx
gen_vec_interleave_highv16hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17812 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx t1 = gen_reg_rtx (V16HImode);
  rtx t2 = gen_reg_rtx (V16HImode);
  rtx t3 = gen_reg_rtx (V4DImode);
  emit_insn (gen_avx2_interleave_lowv16hi (t1, operands[1], operands[2]));
  emit_insn (gen_avx2_interleave_highv16hi (t2,  operands[1], operands[2]));
  emit_insn (gen_avx2_permv2ti (t3, gen_lowpart (V4DImode, t1),
				gen_lowpart (V4DImode, t2),
				GEN_INT (1 + (3 << 4))));
  emit_move_insn (operands[0], gen_lowpart (V16HImode, t3));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17807 */
rtx
gen_vec_interleave_highv8si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17812 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx t1 = gen_reg_rtx (V8SImode);
  rtx t2 = gen_reg_rtx (V8SImode);
  rtx t3 = gen_reg_rtx (V4DImode);
  emit_insn (gen_avx2_interleave_lowv8si (t1, operands[1], operands[2]));
  emit_insn (gen_avx2_interleave_highv8si (t2,  operands[1], operands[2]));
  emit_insn (gen_avx2_permv2ti (t3, gen_lowpart (V4DImode, t1),
				gen_lowpart (V4DImode, t2),
				GEN_INT (1 + (3 << 4))));
  emit_move_insn (operands[0], gen_lowpart (V8SImode, t3));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17807 */
rtx
gen_vec_interleave_highv4di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17812 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx t1 = gen_reg_rtx (V4DImode);
  rtx t2 = gen_reg_rtx (V4DImode);
  rtx t3 = gen_reg_rtx (V4DImode);
  emit_insn (gen_avx2_interleave_lowv4di (t1, operands[1], operands[2]));
  emit_insn (gen_avx2_interleave_highv4di (t2,  operands[1], operands[2]));
  emit_insn (gen_avx2_permv2ti (t3, gen_lowpart (V4DImode, t1),
				gen_lowpart (V4DImode, t2),
				GEN_INT (1 + (3 << 4))));
  emit_move_insn (operands[0], gen_lowpart (V4DImode, t3));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17825 */
rtx
gen_vec_interleave_lowv32qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17830 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx t1 = gen_reg_rtx (V32QImode);
  rtx t2 = gen_reg_rtx (V32QImode);
  rtx t3 = gen_reg_rtx (V4DImode);
  emit_insn (gen_avx2_interleave_lowv32qi (t1, operands[1], operands[2]));
  emit_insn (gen_avx2_interleave_highv32qi (t2, operands[1], operands[2]));
  emit_insn (gen_avx2_permv2ti (t3, gen_lowpart (V4DImode, t1),
				gen_lowpart (V4DImode, t2),
				GEN_INT (0 + (2 << 4))));
  emit_move_insn (operands[0], gen_lowpart (V32QImode, t3));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17825 */
rtx
gen_vec_interleave_lowv16hi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17830 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx t1 = gen_reg_rtx (V16HImode);
  rtx t2 = gen_reg_rtx (V16HImode);
  rtx t3 = gen_reg_rtx (V4DImode);
  emit_insn (gen_avx2_interleave_lowv16hi (t1, operands[1], operands[2]));
  emit_insn (gen_avx2_interleave_highv16hi (t2, operands[1], operands[2]));
  emit_insn (gen_avx2_permv2ti (t3, gen_lowpart (V4DImode, t1),
				gen_lowpart (V4DImode, t2),
				GEN_INT (0 + (2 << 4))));
  emit_move_insn (operands[0], gen_lowpart (V16HImode, t3));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17825 */
rtx
gen_vec_interleave_lowv8si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17830 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx t1 = gen_reg_rtx (V8SImode);
  rtx t2 = gen_reg_rtx (V8SImode);
  rtx t3 = gen_reg_rtx (V4DImode);
  emit_insn (gen_avx2_interleave_lowv8si (t1, operands[1], operands[2]));
  emit_insn (gen_avx2_interleave_highv8si (t2, operands[1], operands[2]));
  emit_insn (gen_avx2_permv2ti (t3, gen_lowpart (V4DImode, t1),
				gen_lowpart (V4DImode, t2),
				GEN_INT (0 + (2 << 4))));
  emit_move_insn (operands[0], gen_lowpart (V8SImode, t3));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17825 */
rtx
gen_vec_interleave_lowv4di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17830 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx t1 = gen_reg_rtx (V4DImode);
  rtx t2 = gen_reg_rtx (V4DImode);
  rtx t3 = gen_reg_rtx (V4DImode);
  emit_insn (gen_avx2_interleave_lowv4di (t1, operands[1], operands[2]));
  emit_insn (gen_avx2_interleave_highv4di (t2, operands[1], operands[2]));
  emit_insn (gen_avx2_permv2ti (t3, gen_lowpart (V4DImode, t1),
				gen_lowpart (V4DImode, t2),
				GEN_INT (0 + (2 << 4))));
  emit_move_insn (operands[0], gen_lowpart (V4DImode, t3));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17928 */
extern rtx_insn *gen_split_2529 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2529 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2529 (sse.md:17928)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8HImode,
	operand2)));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_VEC_MERGE (V8HImode,
	copy_rtx (operand0),
	operand1,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17928 */
extern rtx_insn *gen_split_2530 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2530 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2530 (sse.md:17928)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8HFmode,
	operand2)));
  emit_insn (gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_VEC_MERGE (V8HFmode,
	copy_rtx (operand0),
	operand1,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17944 */
rtx
gen_avx512dq_vinsertf64x2_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17952 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask, selector;
  mask = INTVAL (operands[3]);
  selector = (GET_MODE_UNIT_SIZE (V8DFmode) == 4
  	      ? 0xFFFF ^ (0x000F << mask * 4)
	      : 0xFF ^ (0x03 << mask * 2));
  emit_insn (gen_avx512dq_vinsertf64x2_1_mask
    (operands[0], operands[1], operands[2], GEN_INT (selector),
     operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17944 */
rtx
gen_avx512dq_vinserti64x2_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17952 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask, selector;
  mask = INTVAL (operands[3]);
  selector = (GET_MODE_UNIT_SIZE (V8DImode) == 4
  	      ? 0xFFFF ^ (0x000F << mask * 4)
	      : 0xFF ^ (0x03 << mask * 2));
  emit_insn (gen_avx512dq_vinserti64x2_1_mask
    (operands[0], operands[1], operands[2], GEN_INT (selector),
     operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17944 */
rtx
gen_avx512f_vinsertf32x4_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17952 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask, selector;
  mask = INTVAL (operands[3]);
  selector = (GET_MODE_UNIT_SIZE (V16SFmode) == 4
  	      ? 0xFFFF ^ (0x000F << mask * 4)
	      : 0xFF ^ (0x03 << mask * 2));
  emit_insn (gen_avx512f_vinsertf32x4_1_mask
    (operands[0], operands[1], operands[2], GEN_INT (selector),
     operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:17944 */
rtx
gen_avx512f_vinserti32x4_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 17952 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask, selector;
  mask = INTVAL (operands[3]);
  selector = (GET_MODE_UNIT_SIZE (V16SImode) == 4
  	      ? 0xFFFF ^ (0x000F << mask * 4)
	      : 0xFF ^ (0x03 << mask * 2));
  emit_insn (gen_avx512f_vinserti32x4_1_mask
    (operands[0], operands[1], operands[2], GEN_INT (selector),
     operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18044 */
rtx
gen_avx512dq_vinsertf32x8_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18052 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  if (mask == 0)
    emit_insn (gen_vec_set_lo_v16sf_mask (operands[0], operands[1],
					   operands[2], operands[4],
					   operands[5]));
  else
    emit_insn (gen_vec_set_hi_v16sf_mask (operands[0], operands[1],
					   operands[2], operands[4],
					   operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18044 */
rtx
gen_avx512dq_vinserti32x8_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18052 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  if (mask == 0)
    emit_insn (gen_vec_set_lo_v16si_mask (operands[0], operands[1],
					   operands[2], operands[4],
					   operands[5]));
  else
    emit_insn (gen_vec_set_hi_v16si_mask (operands[0], operands[1],
					   operands[2], operands[4],
					   operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18044 */
rtx
gen_avx512f_vinsertf64x4_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18052 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  if (mask == 0)
    emit_insn (gen_vec_set_lo_v8df_mask (operands[0], operands[1],
					   operands[2], operands[4],
					   operands[5]));
  else
    emit_insn (gen_vec_set_hi_v8df_mask (operands[0], operands[1],
					   operands[2], operands[4],
					   operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18044 */
rtx
gen_avx512f_vinserti64x4_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18052 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  if (mask == 0)
    emit_insn (gen_vec_set_lo_v8di_mask (operands[0], operands[1],
					   operands[2], operands[4],
					   operands[5]));
  else
    emit_insn (gen_vec_set_hi_v8di_mask (operands[0], operands[1],
					   operands[2], operands[4],
					   operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18129 */
rtx
gen_avx512dq_shuf_i64x2_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  emit_insn (gen_avx512dq_shuf_i64x2_1_mask
      (operands[0], operands[1], operands[2],
       GEN_INT (((mask >> 0) & 1) * 2 + 0),
       GEN_INT (((mask >> 0) & 1) * 2 + 1),
       GEN_INT (((mask >> 1) & 1) * 2 + 4),
       GEN_INT (((mask >> 1) & 1) * 2 + 5),
       operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18129 */
rtx
gen_avx512dq_shuf_f64x2_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  emit_insn (gen_avx512dq_shuf_f64x2_1_mask
      (operands[0], operands[1], operands[2],
       GEN_INT (((mask >> 0) & 1) * 2 + 0),
       GEN_INT (((mask >> 0) & 1) * 2 + 1),
       GEN_INT (((mask >> 1) & 1) * 2 + 4),
       GEN_INT (((mask >> 1) & 1) * 2 + 5),
       operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18176 */
rtx
gen_avx512f_shuf_f64x2_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18184 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  emit_insn (gen_avx512f_shuf_f64x2_1_mask
      (operands[0], operands[1], operands[2],
       GEN_INT (((mask >> 0) & 3) * 2),
       GEN_INT (((mask >> 0) & 3) * 2 + 1),
       GEN_INT (((mask >> 2) & 3) * 2),
       GEN_INT (((mask >> 2) & 3) * 2 + 1),
       GEN_INT (((mask >> 4) & 3) * 2 + 8),
       GEN_INT (((mask >> 4) & 3) * 2 + 9),
       GEN_INT (((mask >> 6) & 3) * 2 + 8),
       GEN_INT (((mask >> 6) & 3) * 2 + 9),
       operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18176 */
rtx
gen_avx512f_shuf_i64x2_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18184 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  emit_insn (gen_avx512f_shuf_i64x2_1_mask
      (operands[0], operands[1], operands[2],
       GEN_INT (((mask >> 0) & 3) * 2),
       GEN_INT (((mask >> 0) & 3) * 2 + 1),
       GEN_INT (((mask >> 2) & 3) * 2),
       GEN_INT (((mask >> 2) & 3) * 2 + 1),
       GEN_INT (((mask >> 4) & 3) * 2 + 8),
       GEN_INT (((mask >> 4) & 3) * 2 + 9),
       GEN_INT (((mask >> 6) & 3) * 2 + 8),
       GEN_INT (((mask >> 6) & 3) * 2 + 9),
       operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18274 */
rtx
gen_avx512vl_shuf_i32x4_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18282 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  emit_insn (gen_avx512vl_shuf_i32x4_1_mask
      (operands[0], operands[1], operands[2],
       GEN_INT (((mask >> 0) & 1) * 4 + 0),
       GEN_INT (((mask >> 0) & 1) * 4 + 1),
       GEN_INT (((mask >> 0) & 1) * 4 + 2),
       GEN_INT (((mask >> 0) & 1) * 4 + 3),
       GEN_INT (((mask >> 1) & 1) * 4 + 8),
       GEN_INT (((mask >> 1) & 1) * 4 + 9),
       GEN_INT (((mask >> 1) & 1) * 4 + 10),
       GEN_INT (((mask >> 1) & 1) * 4 + 11),
       operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18274 */
rtx
gen_avx512vl_shuf_f32x4_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18282 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  emit_insn (gen_avx512vl_shuf_f32x4_1_mask
      (operands[0], operands[1], operands[2],
       GEN_INT (((mask >> 0) & 1) * 4 + 0),
       GEN_INT (((mask >> 0) & 1) * 4 + 1),
       GEN_INT (((mask >> 0) & 1) * 4 + 2),
       GEN_INT (((mask >> 0) & 1) * 4 + 3),
       GEN_INT (((mask >> 1) & 1) * 4 + 8),
       GEN_INT (((mask >> 1) & 1) * 4 + 9),
       GEN_INT (((mask >> 1) & 1) * 4 + 10),
       GEN_INT (((mask >> 1) & 1) * 4 + 11),
       operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18334 */
rtx
gen_avx512f_shuf_f32x4_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18342 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  emit_insn (gen_avx512f_shuf_f32x4_1_mask
      (operands[0], operands[1], operands[2],
       GEN_INT (((mask >> 0) & 3) * 4),
       GEN_INT (((mask >> 0) & 3) * 4 + 1),
       GEN_INT (((mask >> 0) & 3) * 4 + 2),
       GEN_INT (((mask >> 0) & 3) * 4 + 3),
       GEN_INT (((mask >> 2) & 3) * 4),
       GEN_INT (((mask >> 2) & 3) * 4 + 1),
       GEN_INT (((mask >> 2) & 3) * 4 + 2),
       GEN_INT (((mask >> 2) & 3) * 4 + 3),
       GEN_INT (((mask >> 4) & 3) * 4 + 16),
       GEN_INT (((mask >> 4) & 3) * 4 + 17),
       GEN_INT (((mask >> 4) & 3) * 4 + 18),
       GEN_INT (((mask >> 4) & 3) * 4 + 19),
       GEN_INT (((mask >> 6) & 3) * 4 + 16),
       GEN_INT (((mask >> 6) & 3) * 4 + 17),
       GEN_INT (((mask >> 6) & 3) * 4 + 18),
       GEN_INT (((mask >> 6) & 3) * 4 + 19),
       operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18334 */
rtx
gen_avx512f_shuf_i32x4_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18342 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  emit_insn (gen_avx512f_shuf_i32x4_1_mask
      (operands[0], operands[1], operands[2],
       GEN_INT (((mask >> 0) & 3) * 4),
       GEN_INT (((mask >> 0) & 3) * 4 + 1),
       GEN_INT (((mask >> 0) & 3) * 4 + 2),
       GEN_INT (((mask >> 0) & 3) * 4 + 3),
       GEN_INT (((mask >> 2) & 3) * 4),
       GEN_INT (((mask >> 2) & 3) * 4 + 1),
       GEN_INT (((mask >> 2) & 3) * 4 + 2),
       GEN_INT (((mask >> 2) & 3) * 4 + 3),
       GEN_INT (((mask >> 4) & 3) * 4 + 16),
       GEN_INT (((mask >> 4) & 3) * 4 + 17),
       GEN_INT (((mask >> 4) & 3) * 4 + 18),
       GEN_INT (((mask >> 4) & 3) * 4 + 19),
       GEN_INT (((mask >> 6) & 3) * 4 + 16),
       GEN_INT (((mask >> 6) & 3) * 4 + 17),
       GEN_INT (((mask >> 6) & 3) * 4 + 18),
       GEN_INT (((mask >> 6) & 3) * 4 + 19),
       operands[4], operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18472 */
rtx
gen_avx512f_pshufdv3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18479 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_avx512f_pshufd_1_mask (operands[0], operands[1],
				       GEN_INT ((mask >> 0) & 3),
				       GEN_INT ((mask >> 2) & 3),
				       GEN_INT ((mask >> 4) & 3),
				       GEN_INT ((mask >> 6) & 3),
				       GEN_INT (((mask >> 0) & 3) + 4),
				       GEN_INT (((mask >> 2) & 3) + 4),
				       GEN_INT (((mask >> 4) & 3) + 4),
				       GEN_INT (((mask >> 6) & 3) + 4),
				       GEN_INT (((mask >> 0) & 3) + 8),
				       GEN_INT (((mask >> 2) & 3) + 8),
				       GEN_INT (((mask >> 4) & 3) + 8),
				       GEN_INT (((mask >> 6) & 3) + 8),
				       GEN_INT (((mask >> 0) & 3) + 12),
				       GEN_INT (((mask >> 2) & 3) + 12),
				       GEN_INT (((mask >> 4) & 3) + 12),
				       GEN_INT (((mask >> 6) & 3) + 12),
				       operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18550 */
rtx
gen_avx512vl_pshufdv3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18557 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_avx2_pshufd_1_mask (operands[0], operands[1],
				GEN_INT ((mask >> 0) & 3),
				GEN_INT ((mask >> 2) & 3),
				GEN_INT ((mask >> 4) & 3),
				GEN_INT ((mask >> 6) & 3),
				GEN_INT (((mask >> 0) & 3) + 4),
				GEN_INT (((mask >> 2) & 3) + 4),
				GEN_INT (((mask >> 4) & 3) + 4),
				GEN_INT (((mask >> 6) & 3) + 4),
                operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18572 */
rtx
gen_avx2_pshufdv3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18577 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_avx2_pshufd_1 (operands[0], operands[1],
				GEN_INT ((mask >> 0) & 3),
				GEN_INT ((mask >> 2) & 3),
				GEN_INT ((mask >> 4) & 3),
				GEN_INT ((mask >> 6) & 3),
				GEN_INT (((mask >> 0) & 3) + 4),
				GEN_INT (((mask >> 2) & 3) + 4),
				GEN_INT (((mask >> 4) & 3) + 4),
				GEN_INT (((mask >> 6) & 3) + 4)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18624 */
rtx
gen_avx512vl_pshufd_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18631 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_sse2_pshufd_1_mask (operands[0], operands[1],
				GEN_INT ((mask >> 0) & 3),
				GEN_INT ((mask >> 2) & 3),
				GEN_INT ((mask >> 4) & 3),
				GEN_INT ((mask >> 6) & 3),
                operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18642 */
rtx
gen_sse2_pshufd (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_sse2_pshufd_1 (operands[0], operands[1],
				GEN_INT ((mask >> 0) & 3),
				GEN_INT ((mask >> 2) & 3),
				GEN_INT ((mask >> 4) & 3),
				GEN_INT ((mask >> 6) & 3)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18694 */
rtx
gen_avx512vl_pshuflwv3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18701 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_avx2_pshuflw_1_mask (operands[0], operands[1],
				 GEN_INT ((mask >> 0) & 3),
				 GEN_INT ((mask >> 2) & 3),
				 GEN_INT ((mask >> 4) & 3),
				 GEN_INT ((mask >> 6) & 3),
				 GEN_INT (((mask >> 0) & 3) + 8),
				 GEN_INT (((mask >> 2) & 3) + 8),
				 GEN_INT (((mask >> 4) & 3) + 8),
				 GEN_INT (((mask >> 6) & 3) + 8),
                 operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18716 */
rtx
gen_avx2_pshuflwv3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18721 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_avx2_pshuflw_1 (operands[0], operands[1],
				 GEN_INT ((mask >> 0) & 3),
				 GEN_INT ((mask >> 2) & 3),
				 GEN_INT ((mask >> 4) & 3),
				 GEN_INT ((mask >> 6) & 3),
				 GEN_INT (((mask >> 0) & 3) + 8),
				 GEN_INT (((mask >> 2) & 3) + 8),
				 GEN_INT (((mask >> 4) & 3) + 8),
				 GEN_INT (((mask >> 6) & 3) + 8)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18776 */
rtx
gen_avx512vl_pshuflw_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18783 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_sse2_pshuflw_1_mask (operands[0], operands[1],
				 GEN_INT ((mask >> 0) & 3),
				 GEN_INT ((mask >> 2) & 3),
				 GEN_INT ((mask >> 4) & 3),
				 GEN_INT ((mask >> 6) & 3),
                 operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18794 */
rtx
gen_sse2_pshuflw (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18799 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_sse2_pshuflw_1 (operands[0], operands[1],
				 GEN_INT ((mask >> 0) & 3),
				 GEN_INT ((mask >> 2) & 3),
				 GEN_INT ((mask >> 4) & 3),
				 GEN_INT ((mask >> 6) & 3)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18839 */
rtx
gen_avx2_pshufhwv3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18844 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_avx2_pshufhw_1 (operands[0], operands[1],
				 GEN_INT (((mask >> 0) & 3) + 4),
				 GEN_INT (((mask >> 2) & 3) + 4),
				 GEN_INT (((mask >> 4) & 3) + 4),
				 GEN_INT (((mask >> 6) & 3) + 4),
				 GEN_INT (((mask >> 0) & 3) + 12),
				 GEN_INT (((mask >> 2) & 3) + 12),
				 GEN_INT (((mask >> 4) & 3) + 12),
				 GEN_INT (((mask >> 6) & 3) + 12)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18870 */
rtx
gen_avx512vl_pshufhwv3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18877 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_avx2_pshufhw_1_mask (operands[0], operands[1],
				 GEN_INT (((mask >> 0) & 3) + 4),
				 GEN_INT (((mask >> 2) & 3) + 4),
				 GEN_INT (((mask >> 4) & 3) + 4),
				 GEN_INT (((mask >> 6) & 3) + 4),
				 GEN_INT (((mask >> 0) & 3) + 12),
				 GEN_INT (((mask >> 2) & 3) + 12),
				 GEN_INT (((mask >> 4) & 3) + 12),
				 GEN_INT (((mask >> 6) & 3) + 12),
                 operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18933 */
rtx
gen_avx512vl_pshufhw_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18940 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_sse2_pshufhw_1_mask (operands[0], operands[1],
				 GEN_INT (((mask >> 0) & 3) + 4),
				 GEN_INT (((mask >> 2) & 3) + 4),
				 GEN_INT (((mask >> 4) & 3) + 4),
				 GEN_INT (((mask >> 6) & 3) + 4),
                 operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18951 */
rtx
gen_sse2_pshufhw (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 18956 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_sse2_pshufhw_1 (operands[0], operands[1],
				 GEN_INT (((mask >> 0) & 3) + 4),
				 GEN_INT (((mask >> 2) & 3) + 4),
				 GEN_INT (((mask >> 4) & 3) + 4),
				 GEN_INT (((mask >> 6) & 3) + 4)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:18996 */
rtx
gen_sse2_loadd (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19004 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V4SImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_VEC_DUPLICATE (V4SImode,
	operand1),
	operand2,
	const1_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19132 */
extern rtx_insn *gen_split_2531 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2531 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2531 (sse.md:19132)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19144 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[4] = gen_lowpart (SImode, operands[1]);
  operands[5] = gen_lowpart (V4SImode, operands[1]);
  split_double_mode (DImode, &operands[0], 1, &operands[2], &operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand2,
	operand4));
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_VEC_SELECT (SImode,
	operand5,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const1_rtx)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19150 */
extern rtx_insn *gen_split_2532 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2532 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2532 (sse.md:19150)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19157 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (SImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19150 */
extern rtx_insn *gen_split_2533 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2533 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2533 (sse.md:19150)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19157 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (DImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19183 */
extern rtx_insn *gen_split_2534 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2534 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2534 (sse.md:19183)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19191 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (SImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19252 */
extern rtx_insn *gen_split_2535 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2535 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2535 (sse.md:19252)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19262 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = adjust_address (operands[1], SImode, INTVAL (operands[2]) * 4);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19323 */
extern rtx_insn *gen_split_2536 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2536 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2536 (sse.md:19323)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19331 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int offs = INTVAL (operands[2]) * GET_MODE_SIZE (QImode);

  operands[1] = adjust_address (operands[1], QImode, offs);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19323 */
extern rtx_insn *gen_split_2537 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2537 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2537 (sse.md:19323)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19331 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int offs = INTVAL (operands[2]) * GET_MODE_SIZE (HImode);

  operands[1] = adjust_address (operands[1], HImode, offs);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19323 */
extern rtx_insn *gen_split_2538 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2538 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2538 (sse.md:19323)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19331 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int offs = INTVAL (operands[2]) * GET_MODE_SIZE (SImode);

  operands[1] = adjust_address (operands[1], SImode, offs);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19323 */
extern rtx_insn *gen_split_2539 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2539 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2539 (sse.md:19323)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19331 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int offs = INTVAL (operands[2]) * GET_MODE_SIZE (DImode);

  operands[1] = adjust_address (operands[1], DImode, offs);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19370 */
extern rtx_insn *gen_split_2540 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2540 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2540 (sse.md:19370)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19379 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (TImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19370 */
extern rtx_insn *gen_split_2541 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2541 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2541 (sse.md:19370)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19379 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (TImode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19383 */
extern rtx_insn *gen_split_2542 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2542 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2542 (sse.md:19383)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19395 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp;

  switch (GET_MODE_SIZE (GET_MODE (operands[1])))
    {
    case 64:
      if (SImode == SImode)
	{
	  tmp = gen_reg_rtx (V8SImode);
	  emit_insn (gen_vec_extract_lo_v16si (tmp,
					       gen_lowpart (V16SImode,
							    operands[1])));
	}
      else
	{
	  tmp = gen_reg_rtx (V4DImode);
	  emit_insn (gen_vec_extract_lo_v8di (tmp,
					      gen_lowpart (V8DImode,
							   operands[1])));
	}
      operands[1] = tmp;
      /* FALLTHRU */
    case 32:
      tmp = gen_reg_rtx (V4SImode);
      if (SImode == SImode)
	emit_insn (gen_vec_extract_lo_v8si (tmp, gen_lowpart (V8SImode,
							      operands[1])));
      else
	emit_insn (gen_vec_extract_lo_v4di (tmp, gen_lowpart (V4DImode,
							      operands[1])));
      operands[1] = tmp;
      break;
    case 16:
      operands[1] = gen_lowpart (V4SImode, operands[1]);
      break;
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19383 */
extern rtx_insn *gen_split_2543 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2543 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2543 (sse.md:19383)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19395 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp;

  switch (GET_MODE_SIZE (GET_MODE (operands[1])))
    {
    case 64:
      if (DImode == SImode)
	{
	  tmp = gen_reg_rtx (V8SImode);
	  emit_insn (gen_vec_extract_lo_v16si (tmp,
					       gen_lowpart (V16SImode,
							    operands[1])));
	}
      else
	{
	  tmp = gen_reg_rtx (V4DImode);
	  emit_insn (gen_vec_extract_lo_v8di (tmp,
					      gen_lowpart (V8DImode,
							   operands[1])));
	}
      operands[1] = tmp;
      /* FALLTHRU */
    case 32:
      tmp = gen_reg_rtx (V2DImode);
      if (DImode == SImode)
	emit_insn (gen_vec_extract_lo_v8si (tmp, gen_lowpart (V8SImode,
							      operands[1])));
      else
	emit_insn (gen_vec_extract_lo_v4di (tmp, gen_lowpart (V4DImode,
							      operands[1])));
      operands[1] = tmp;
      break;
    case 16:
      operands[1] = gen_lowpart (V2DImode, operands[1]);
      break;
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (DImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (1,
		const0_rtx)))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19633 */
rtx
gen_vec_unpacks_lo_v64qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19637 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19633 */
rtx
gen_vec_unpacks_lo_v32qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19637 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19633 */
rtx
gen_vec_unpacks_lo_v16qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19637 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19633 */
rtx
gen_vec_unpacks_lo_v32hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19637 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19633 */
rtx
gen_vec_unpacks_lo_v16hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19637 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19633 */
rtx
gen_vec_unpacks_lo_v8hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19637 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19633 */
rtx
gen_vec_unpacks_lo_v16si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19637 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19633 */
rtx
gen_vec_unpacks_lo_v8si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19637 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19633 */
rtx
gen_vec_unpacks_lo_v4si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19637 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19639 */
rtx
gen_vec_unpacks_hi_v64qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19643 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19639 */
rtx
gen_vec_unpacks_hi_v32qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19643 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19639 */
rtx
gen_vec_unpacks_hi_v16qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19643 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19639 */
rtx
gen_vec_unpacks_hi_v32hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19643 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19639 */
rtx
gen_vec_unpacks_hi_v16hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19643 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19639 */
rtx
gen_vec_unpacks_hi_v8hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19643 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19639 */
rtx
gen_vec_unpacks_hi_v16si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19643 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19639 */
rtx
gen_vec_unpacks_hi_v8si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19643 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19639 */
rtx
gen_vec_unpacks_hi_v4si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19643 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], false, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19645 */
rtx
gen_vec_unpacku_lo_v64qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19649 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19645 */
rtx
gen_vec_unpacku_lo_v32qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19649 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19645 */
rtx
gen_vec_unpacku_lo_v16qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19649 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19645 */
rtx
gen_vec_unpacku_lo_v32hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19649 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19645 */
rtx
gen_vec_unpacku_lo_v16hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19649 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19645 */
rtx
gen_vec_unpacku_lo_v8hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19649 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19645 */
rtx
gen_vec_unpacku_lo_v16si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19649 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19645 */
rtx
gen_vec_unpacku_lo_v8si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19649 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19645 */
rtx
gen_vec_unpacku_lo_v4si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19649 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, false); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19651 */
rtx
gen_vec_unpacks_sbool_lo_qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19656 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (INTVAL (operands[2]) != 8 && INTVAL (operands[2]) != 4)
    FAIL;
  emit_move_insn (operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19663 */
rtx
gen_vec_unpacks_lo_hi (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (gen_rtx_SUBREG (HImode,
	operand0,
	0),
	operand1);
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19668 */
rtx
gen_vec_unpacks_lo_si (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (HImode,
	operand1,
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19673 */
rtx
gen_vec_unpacks_lo_di (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SUBREG (SImode,
	operand1,
	0));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19678 */
rtx
gen_vec_unpacku_hi_v64qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19682 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19678 */
rtx
gen_vec_unpacku_hi_v32qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19682 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19678 */
rtx
gen_vec_unpacku_hi_v16qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19682 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19678 */
rtx
gen_vec_unpacku_hi_v32hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19682 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19678 */
rtx
gen_vec_unpacku_hi_v16hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19682 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19678 */
rtx
gen_vec_unpacku_hi_v8hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19682 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19678 */
rtx
gen_vec_unpacku_hi_v16si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19682 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19678 */
rtx
gen_vec_unpacku_hi_v8si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19682 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19678 */
rtx
gen_vec_unpacku_hi_v4si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19682 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
ix86_expand_sse_unpack (operands[0], operands[1], true, true); DONE;
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19684 */
rtx
gen_vec_unpacks_sbool_hi_qi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19689 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  HOST_WIDE_INT nunits = INTVAL (operands[2]);
  if (nunits != 8 && nunits != 4)
    FAIL;
  if (TARGET_AVX512DQ)
    emit_insn (gen_klshiftrtqi (operands[0], operands[1],
				GEN_INT (nunits / 2)));
  else
    {
      rtx tem = gen_reg_rtx (HImode);
      emit_insn (gen_klshiftrthi (tem, lowpart_subreg (HImode, operands[1],
						       QImode),
				  GEN_INT (nunits / 2)));
      emit_move_insn (operands[0], lowpart_subreg (QImode, tem, HImode));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19707 */
rtx
gen_vec_unpacks_hi_hi (rtx operand0,
	rtx operand1)
{
  return gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_SUBREG (HImode,
	operand0,
	0),
	gen_rtx_LSHIFTRT (HImode,
	operand1,
	const_int_rtx[MAX_SAVED_CONST_INT + (8)])),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158)));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19715 */
rtx
gen_vec_unpacks_hi_si (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19723 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = GEN_INT (GET_MODE_BITSIZE (HImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_SUBREG (SImode,
	operand0,
	0),
	gen_rtx_LSHIFTRT (SImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19715 */
rtx
gen_vec_unpacks_hi_di (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19723 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = GEN_INT (GET_MODE_BITSIZE (SImode));
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_SUBREG (DImode,
	operand0,
	0),
	gen_rtx_LSHIFTRT (DImode,
	operand1,
	operand2)),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const0_rtx),
	158))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19731 */
rtx
gen_avx512bw_uavgv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19744 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = CONST1_RTX(V64HImode);
  ix86_fixup_binary_operands_no_copy (PLUS, V64QImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V64QImode,
	gen_rtx_LSHIFTRT (V64HImode,
	gen_rtx_PLUS (V64HImode,
	gen_rtx_PLUS (V64HImode,
	gen_rtx_ZERO_EXTEND (V64HImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V64HImode,
	operand2)),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19731 */
rtx
gen_avx512bw_uavgv64qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19744 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5] = CONST1_RTX(V64HImode);
  ix86_fixup_binary_operands_no_copy (PLUS, V64QImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_TRUNCATE (V64QImode,
	gen_rtx_LSHIFTRT (V64HImode,
	gen_rtx_PLUS (V64HImode,
	gen_rtx_PLUS (V64HImode,
	gen_rtx_ZERO_EXTEND (V64HImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V64HImode,
	operand2)),
	operand5),
	const1_rtx)),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19731 */
rtx
gen_avx2_uavgv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19744 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = CONST1_RTX(V32HImode);
  ix86_fixup_binary_operands_no_copy (PLUS, V32QImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V32QImode,
	gen_rtx_LSHIFTRT (V32HImode,
	gen_rtx_PLUS (V32HImode,
	gen_rtx_PLUS (V32HImode,
	gen_rtx_ZERO_EXTEND (V32HImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V32HImode,
	operand2)),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19731 */
rtx
gen_avx2_uavgv32qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19744 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5] = CONST1_RTX(V32HImode);
  ix86_fixup_binary_operands_no_copy (PLUS, V32QImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_TRUNCATE (V32QImode,
	gen_rtx_LSHIFTRT (V32HImode,
	gen_rtx_PLUS (V32HImode,
	gen_rtx_PLUS (V32HImode,
	gen_rtx_ZERO_EXTEND (V32HImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V32HImode,
	operand2)),
	operand5),
	const1_rtx)),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19731 */
rtx
gen_sse2_uavgv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19744 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = CONST1_RTX(V16HImode);
  ix86_fixup_binary_operands_no_copy (PLUS, V16QImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V16QImode,
	gen_rtx_LSHIFTRT (V16HImode,
	gen_rtx_PLUS (V16HImode,
	gen_rtx_PLUS (V16HImode,
	gen_rtx_ZERO_EXTEND (V16HImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V16HImode,
	operand2)),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19731 */
rtx
gen_sse2_uavgv16qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19744 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5] = CONST1_RTX(V16HImode);
  ix86_fixup_binary_operands_no_copy (PLUS, V16QImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_TRUNCATE (V16QImode,
	gen_rtx_LSHIFTRT (V16HImode,
	gen_rtx_PLUS (V16HImode,
	gen_rtx_PLUS (V16HImode,
	gen_rtx_ZERO_EXTEND (V16HImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V16HImode,
	operand2)),
	operand5),
	const1_rtx)),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19731 */
rtx
gen_avx512bw_uavgv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19744 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = CONST1_RTX(V32SImode);
  ix86_fixup_binary_operands_no_copy (PLUS, V32HImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V32HImode,
	gen_rtx_LSHIFTRT (V32SImode,
	gen_rtx_PLUS (V32SImode,
	gen_rtx_PLUS (V32SImode,
	gen_rtx_ZERO_EXTEND (V32SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V32SImode,
	operand2)),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19731 */
rtx
gen_avx512bw_uavgv32hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19744 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5] = CONST1_RTX(V32SImode);
  ix86_fixup_binary_operands_no_copy (PLUS, V32HImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_TRUNCATE (V32HImode,
	gen_rtx_LSHIFTRT (V32SImode,
	gen_rtx_PLUS (V32SImode,
	gen_rtx_PLUS (V32SImode,
	gen_rtx_ZERO_EXTEND (V32SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V32SImode,
	operand2)),
	operand5),
	const1_rtx)),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19731 */
rtx
gen_avx2_uavgv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19744 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = CONST1_RTX(V16SImode);
  ix86_fixup_binary_operands_no_copy (PLUS, V16HImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V16HImode,
	gen_rtx_LSHIFTRT (V16SImode,
	gen_rtx_PLUS (V16SImode,
	gen_rtx_PLUS (V16SImode,
	gen_rtx_ZERO_EXTEND (V16SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V16SImode,
	operand2)),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19731 */
rtx
gen_avx2_uavgv16hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19744 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5] = CONST1_RTX(V16SImode);
  ix86_fixup_binary_operands_no_copy (PLUS, V16HImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_TRUNCATE (V16HImode,
	gen_rtx_LSHIFTRT (V16SImode,
	gen_rtx_PLUS (V16SImode,
	gen_rtx_PLUS (V16SImode,
	gen_rtx_ZERO_EXTEND (V16SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V16SImode,
	operand2)),
	operand5),
	const1_rtx)),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19731 */
rtx
gen_sse2_uavgv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19744 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = CONST1_RTX(V8SImode);
  ix86_fixup_binary_operands_no_copy (PLUS, V8HImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V8HImode,
	gen_rtx_LSHIFTRT (V8SImode,
	gen_rtx_PLUS (V8SImode,
	gen_rtx_PLUS (V8SImode,
	gen_rtx_ZERO_EXTEND (V8SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V8SImode,
	operand2)),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19731 */
rtx
gen_sse2_uavgv8hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19744 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5] = CONST1_RTX(V8SImode);
  ix86_fixup_binary_operands_no_copy (PLUS, V8HImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_TRUNCATE (V8HImode,
	gen_rtx_LSHIFTRT (V8SImode,
	gen_rtx_PLUS (V8SImode,
	gen_rtx_PLUS (V8SImode,
	gen_rtx_ZERO_EXTEND (V8SImode,
	operand1),
	gen_rtx_ZERO_EXTEND (V8SImode,
	operand2)),
	operand5),
	const1_rtx)),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19814 */
extern rtx_insn *gen_split_2544 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2544 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2544 (sse.md:19814)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19826 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V8SFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19814 */
extern rtx_insn *gen_split_2545 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2545 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2545 (sse.md:19814)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19826 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V4SFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19814 */
extern rtx_insn *gen_split_2546 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2546 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2546 (sse.md:19814)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19826 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V4DFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19814 */
extern rtx_insn *gen_split_2547 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2547 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2547 (sse.md:19814)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19826 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V2DFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19831 */
extern rtx_insn *gen_split_2548 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2548 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2548 (sse.md:19831)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19844 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V8SFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (DImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19831 */
extern rtx_insn *gen_split_2549 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2549 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2549 (sse.md:19831)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19844 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V8SFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19831 */
extern rtx_insn *gen_split_2550 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2550 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2550 (sse.md:19831)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19844 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V4SFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (DImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19831 */
extern rtx_insn *gen_split_2551 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2551 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2551 (sse.md:19831)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19844 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V4SFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19831 */
extern rtx_insn *gen_split_2552 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2552 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2552 (sse.md:19831)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19844 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V4DFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (DImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19831 */
extern rtx_insn *gen_split_2553 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2553 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2553 (sse.md:19831)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19844 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V4DFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19831 */
extern rtx_insn *gen_split_2554 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2554 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2554 (sse.md:19831)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19844 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V2DFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (DImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19831 */
extern rtx_insn *gen_split_2555 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2555 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2555 (sse.md:19831)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19844 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V2DFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19849 */
extern rtx_insn *gen_split_2556 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2556 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2556 (sse.md:19849)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19862 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V8SFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19849 */
extern rtx_insn *gen_split_2557 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2557 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2557 (sse.md:19849)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19862 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V4SFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19849 */
extern rtx_insn *gen_split_2558 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2558 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2558 (sse.md:19849)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19862 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V4DFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19849 */
extern rtx_insn *gen_split_2559 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2559 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2559 (sse.md:19849)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19862 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V2DFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19867 */
extern rtx_insn *gen_split_2560 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2560 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2560 (sse.md:19867)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19881 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V8SFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (DImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19867 */
extern rtx_insn *gen_split_2561 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2561 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2561 (sse.md:19867)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19881 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V8SFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19867 */
extern rtx_insn *gen_split_2562 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2562 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2562 (sse.md:19867)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19881 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V4SFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (DImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19867 */
extern rtx_insn *gen_split_2563 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2563 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2563 (sse.md:19867)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19881 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V4SFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19867 */
extern rtx_insn *gen_split_2564 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2564 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2564 (sse.md:19867)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19881 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V4DFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (DImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19867 */
extern rtx_insn *gen_split_2565 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2565 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2565 (sse.md:19867)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19881 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V4DFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19867 */
extern rtx_insn *gen_split_2566 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2566 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2566 (sse.md:19867)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19881 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V2DFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (DImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19867 */
extern rtx_insn *gen_split_2567 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2567 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2567 (sse.md:19867)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19881 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = gen_lowpart (V2DFmode, operands[1]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19936 */
extern rtx_insn *gen_split_2568 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2568 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2568 (sse.md:19936)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19949 */
extern rtx_insn *gen_split_2569 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2569 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2569 (sse.md:19949)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19962 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = gen_reg_rtx (SImode);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_XOR (SImode,
	copy_rtx (operand2),
	GEN_INT (65535L))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19964 */
extern rtx_insn *gen_split_2570 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2570 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2570 (sse.md:19964)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19973 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = gen_reg_rtx (SImode);
  if (GET_MODE_NUNITS (V32QImode) == 32)
    operands[3] = gen_rtx_NOT (SImode, operands[2]);
  else
    {
      operands[3]
	= gen_int_mode ((HOST_WIDE_INT_1 << GET_MODE_NUNITS (V32QImode)) - 1,
			SImode);
      operands[3] = gen_rtx_XOR (SImode, operands[2], operands[3]);
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44)));
  emit_insn (gen_rtx_SET (operand0,
	operand3));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19964 */
extern rtx_insn *gen_split_2571 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2571 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2571 (sse.md:19964)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19973 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = gen_reg_rtx (SImode);
  if (GET_MODE_NUNITS (V16QImode) == 32)
    operands[3] = gen_rtx_NOT (SImode, operands[2]);
  else
    {
      operands[3]
	= gen_int_mode ((HOST_WIDE_INT_1 << GET_MODE_NUNITS (V16QImode)) - 1,
			SImode);
      operands[3] = gen_rtx_XOR (SImode, operands[2], operands[3]);
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44)));
  emit_insn (gen_rtx_SET (operand0,
	operand3));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19986 */
extern rtx_insn *gen_split_2572 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2572 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2572 (sse.md:19986)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19997 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = gen_reg_rtx (SImode);
  operands[1] = gen_lowpart (V32QImode, operands[1]);
  if (GET_MODE_NUNITS (V32QImode) == 32)
    operands[3] = gen_rtx_NOT (SImode, operands[2]);
  else
    {
      operands[3]
	= gen_int_mode ((HOST_WIDE_INT_1 << GET_MODE_NUNITS (V32QImode)) - 1,
			SImode);
      operands[3] = gen_rtx_XOR (SImode, operands[2], operands[3]);
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44)));
  emit_insn (gen_rtx_SET (operand0,
	operand3));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:19986 */
extern rtx_insn *gen_split_2573 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2573 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2573 (sse.md:19986)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 19997 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = gen_reg_rtx (SImode);
  operands[1] = gen_lowpart (V16QImode, operands[1]);
  if (GET_MODE_NUNITS (V16QImode) == 32)
    operands[3] = gen_rtx_NOT (SImode, operands[2]);
  else
    {
      operands[3]
	= gen_int_mode ((HOST_WIDE_INT_1 << GET_MODE_NUNITS (V16QImode)) - 1,
			SImode);
      operands[3] = gen_rtx_XOR (SImode, operands[2], operands[3]);
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44)));
  emit_insn (gen_rtx_SET (operand0,
	operand3));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20011 */
extern rtx_insn *gen_split_2574 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2574 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2574 (sse.md:20011)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20022 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20011 */
extern rtx_insn *gen_split_2575 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2575 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2575 (sse.md:20011)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20022 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20032 */
extern rtx_insn *gen_split_2576 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2576 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2576 (sse.md:20032)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20044 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20032 */
extern rtx_insn *gen_split_2577 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2577 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2577 (sse.md:20032)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20044 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (DImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20054 */
extern rtx_insn *gen_split_2578 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2578 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2578 (sse.md:20054)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20066 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (DImode,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (1,
		operand1),
	44))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20076 */
rtx
gen_sse2_maskmovdqu (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand0),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20226 */
extern rtx_insn *gen_split_2579 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2579 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2579 (sse.md:20226)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20247 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* Generate SSE version of the operation.  */
  rtx op0 = lowpart_subreg (V8HImode, operands[0],
			    GET_MODE (operands[0]));
  rtx op1 = lowpart_subreg (V8HImode, operands[1],
			    GET_MODE (operands[1]));
  rtx op2 = lowpart_subreg (V8HImode, operands[2],
			    GET_MODE (operands[2]));
  emit_insn (gen_ssse3_phaddwv8hi3 (op0, op1, op2));
  ix86_move_vector_high_sse_to_mmx (op0);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20226 */
extern rtx_insn *gen_split_2580 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2580 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2580 (sse.md:20226)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20247 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* Generate SSE version of the operation.  */
  rtx op0 = lowpart_subreg (V8HImode, operands[0],
			    GET_MODE (operands[0]));
  rtx op1 = lowpart_subreg (V8HImode, operands[1],
			    GET_MODE (operands[1]));
  rtx op2 = lowpart_subreg (V8HImode, operands[2],
			    GET_MODE (operands[2]));
  emit_insn (gen_ssse3_phaddswv8hi3 (op0, op1, op2));
  ix86_move_vector_high_sse_to_mmx (op0);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20226 */
extern rtx_insn *gen_split_2581 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2581 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2581 (sse.md:20226)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20247 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* Generate SSE version of the operation.  */
  rtx op0 = lowpart_subreg (V8HImode, operands[0],
			    GET_MODE (operands[0]));
  rtx op1 = lowpart_subreg (V8HImode, operands[1],
			    GET_MODE (operands[1]));
  rtx op2 = lowpart_subreg (V8HImode, operands[2],
			    GET_MODE (operands[2]));
  emit_insn (gen_ssse3_phsubwv8hi3 (op0, op1, op2));
  ix86_move_vector_high_sse_to_mmx (op0);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20226 */
extern rtx_insn *gen_split_2582 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2582 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2582 (sse.md:20226)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20247 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* Generate SSE version of the operation.  */
  rtx op0 = lowpart_subreg (V8HImode, operands[0],
			    GET_MODE (operands[0]));
  rtx op1 = lowpart_subreg (V8HImode, operands[1],
			    GET_MODE (operands[1]));
  rtx op2 = lowpart_subreg (V8HImode, operands[2],
			    GET_MODE (operands[2]));
  emit_insn (gen_ssse3_phsubswv8hi3 (op0, op1, op2));
  ix86_move_vector_high_sse_to_mmx (op0);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20313 */
extern rtx_insn *gen_split_2583 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2583 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2583 (sse.md:20313)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20332 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* Generate SSE version of the operation.  */
  rtx op0 = lowpart_subreg (V4SImode, operands[0],
			    GET_MODE (operands[0]));
  rtx op1 = lowpart_subreg (V4SImode, operands[1],
			    GET_MODE (operands[1]));
  rtx op2 = lowpart_subreg (V4SImode, operands[2],
			    GET_MODE (operands[2]));
  emit_insn (gen_ssse3_phadddv4si3 (op0, op1, op2));
  ix86_move_vector_high_sse_to_mmx (op0);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20313 */
extern rtx_insn *gen_split_2584 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2584 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2584 (sse.md:20313)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20332 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* Generate SSE version of the operation.  */
  rtx op0 = lowpart_subreg (V4SImode, operands[0],
			    GET_MODE (operands[0]));
  rtx op1 = lowpart_subreg (V4SImode, operands[1],
			    GET_MODE (operands[1]));
  rtx op2 = lowpart_subreg (V4SImode, operands[2],
			    GET_MODE (operands[2]));
  emit_insn (gen_ssse3_phsubdv4si3 (op0, op1, op2));
  ix86_move_vector_high_sse_to_mmx (op0);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20536 */
rtx
gen_ssse3_pmulhrswv8hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5] = CONST1_RTX(V8HImode);
  ix86_fixup_binary_operands_no_copy (MULT, V8HImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_TRUNCATE (V8HImode,
	gen_rtx_LSHIFTRT (V8SImode,
	gen_rtx_PLUS (V8SImode,
	gen_rtx_LSHIFTRT (V8SImode,
	gen_rtx_MULT (V8SImode,
	gen_rtx_SIGN_EXTEND (V8SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V8SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (14)]),
	operand5),
	const1_rtx)),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20536 */
rtx
gen_avx2_pmulhrswv16hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5] = CONST1_RTX(V16HImode);
  ix86_fixup_binary_operands_no_copy (MULT, V16HImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_TRUNCATE (V16HImode,
	gen_rtx_LSHIFTRT (V16SImode,
	gen_rtx_PLUS (V16SImode,
	gen_rtx_LSHIFTRT (V16SImode,
	gen_rtx_MULT (V16SImode,
	gen_rtx_SIGN_EXTEND (V16SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V16SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (14)]),
	operand5),
	const1_rtx)),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20559 */
rtx
gen_ssse3_pmulhrswv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20574 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = CONST1_RTX(V8HImode);
  ix86_fixup_binary_operands_no_copy (MULT, V8HImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V8HImode,
	gen_rtx_LSHIFTRT (V8SImode,
	gen_rtx_PLUS (V8SImode,
	gen_rtx_LSHIFTRT (V8SImode,
	gen_rtx_MULT (V8SImode,
	gen_rtx_SIGN_EXTEND (V8SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V8SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (14)]),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20559 */
rtx
gen_avx2_pmulhrswv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20574 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = CONST1_RTX(V16HImode);
  ix86_fixup_binary_operands_no_copy (MULT, V16HImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V16HImode,
	gen_rtx_LSHIFTRT (V16SImode,
	gen_rtx_PLUS (V16SImode,
	gen_rtx_LSHIFTRT (V16SImode,
	gen_rtx_MULT (V16SImode,
	gen_rtx_SIGN_EXTEND (V16SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V16SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (14)]),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20579 */
rtx
gen_smulhrsv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20594 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = CONST1_RTX(V32HImode);
  ix86_fixup_binary_operands_no_copy (MULT, V32HImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V32HImode,
	gen_rtx_LSHIFTRT (V32SImode,
	gen_rtx_PLUS (V32SImode,
	gen_rtx_LSHIFTRT (V32SImode,
	gen_rtx_MULT (V32SImode,
	gen_rtx_SIGN_EXTEND (V32SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V32SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (14)]),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20579 */
rtx
gen_smulhrsv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20594 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = CONST1_RTX(V16HImode);
  ix86_fixup_binary_operands_no_copy (MULT, V16HImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V16HImode,
	gen_rtx_LSHIFTRT (V16SImode,
	gen_rtx_PLUS (V16SImode,
	gen_rtx_LSHIFTRT (V16SImode,
	gen_rtx_MULT (V16SImode,
	gen_rtx_SIGN_EXTEND (V16SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V16SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (14)]),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20579 */
rtx
gen_smulhrsv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20594 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = CONST1_RTX(V8HImode);
  ix86_fixup_binary_operands_no_copy (MULT, V8HImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V8HImode,
	gen_rtx_LSHIFTRT (V8SImode,
	gen_rtx_PLUS (V8SImode,
	gen_rtx_LSHIFTRT (V8SImode,
	gen_rtx_MULT (V8SImode,
	gen_rtx_SIGN_EXTEND (V8SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V8SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (14)]),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20625 */
rtx
gen_smulhrsv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20640 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = CONST1_RTX(V4HImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V4HImode,
	gen_rtx_LSHIFTRT (V4SImode,
	gen_rtx_PLUS (V4SImode,
	gen_rtx_LSHIFTRT (V4SImode,
	gen_rtx_MULT (V4SImode,
	gen_rtx_SIGN_EXTEND (V4SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V4SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (14)]),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20642 */
rtx
gen_ssse3_pmulhrswv4hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20657 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = CONST1_RTX(V4HImode);
  ix86_fixup_binary_operands_no_copy (MULT, V4HImode, operands);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V4HImode,
	gen_rtx_LSHIFTRT (V4SImode,
	gen_rtx_PLUS (V4SImode,
	gen_rtx_LSHIFTRT (V4SImode,
	gen_rtx_MULT (V4SImode,
	gen_rtx_SIGN_EXTEND (V4SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V4SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (14)]),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20690 */
rtx
gen_smulhrsv2hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20705 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = CONST1_RTX(V2HImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_TRUNCATE (V2HImode,
	gen_rtx_LSHIFTRT (V2SImode,
	gen_rtx_PLUS (V2SImode,
	gen_rtx_LSHIFTRT (V2SImode,
	gen_rtx_MULT (V2SImode,
	gen_rtx_SIGN_EXTEND (V2SImode,
	operand1),
	gen_rtx_SIGN_EXTEND (V2SImode,
	operand2)),
	const_int_rtx[MAX_SAVED_CONST_INT + (14)]),
	operand3),
	const1_rtx))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20750 */
rtx
gen_ssse3_pshufbv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20758 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[3] = ix86_build_const_vector (V4SImode, true,
                                         gen_int_mode (0xf7f7f7f7, SImode));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	46)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4SImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20763 */
extern rtx_insn *gen_split_2585 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2585 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2585 (sse.md:20763)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20782 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* Emulate MMX version of pshufb with SSE version by masking out the
     bit 3 of the shuffle control byte.  */
  operands[0] = lowpart_subreg (V16QImode, operands[0],
				GET_MODE (operands[0]));
  operands[1] = lowpart_subreg (V16QImode, operands[1],
				GET_MODE (operands[1]));
  operands[2] = lowpart_subreg (V4SImode, operands[2],
				GET_MODE (operands[2]));
  operands[4] = lowpart_subreg (V16QImode, operands[3],
				GET_MODE (operands[3]));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_AND (V4SImode,
	copy_rtx (operand3),
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (2,
		operand1,
		operand4),
	46)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20886 */
extern rtx_insn *gen_split_2586 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2586 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2586 (sse.md:20886)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20910 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* Emulate MMX palignrdi with SSE psrldq.  */
  rtx op0 = lowpart_subreg (V2DImode, operands[0],
			    GET_MODE (operands[0]));
  if (TARGET_AVX)
    emit_insn (gen_vec_concatv2di (op0, operands[2], operands[1]));
  else
    {
      /* NB: SSE can only concatenate OP0 and OP1 to OP0.  */
      emit_insn (gen_vec_concatv2di (op0, operands[1], operands[2]));
      /* Swap bits 0:63 with bits 64:127.  */
      rtx mask = gen_rtx_PARALLEL (VOIDmode,
				   gen_rtvec (4, GEN_INT (2),
					      GEN_INT (3),
					      GEN_INT (0),
					      GEN_INT (1)));
      rtx op1 = lowpart_subreg (V4SImode, op0, GET_MODE (op0));
      rtx op2 = gen_rtx_VEC_SELECT (V4SImode, op1, mask);
      emit_insn (gen_rtx_SET (op1, op2));
    }
  operands[0] = lowpart_subreg (V1TImode, op0, GET_MODE (op0));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V1TImode,
	copy_rtx (operand0),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20986 */
rtx
gen_absv64qi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20991 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_SSSE3
      || ((V64QImode == V2DImode || V64QImode == V4DImode)
	  && !TARGET_AVX512VL))
    {
      ix86_expand_sse2_abs (operands[0], operands[1]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V64QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20986 */
rtx
gen_absv32qi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20991 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_SSSE3
      || ((V32QImode == V2DImode || V32QImode == V4DImode)
	  && !TARGET_AVX512VL))
    {
      ix86_expand_sse2_abs (operands[0], operands[1]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V32QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20986 */
rtx
gen_absv16qi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20991 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_SSSE3
      || ((V16QImode == V2DImode || V16QImode == V4DImode)
	  && !TARGET_AVX512VL))
    {
      ix86_expand_sse2_abs (operands[0], operands[1]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V16QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20986 */
rtx
gen_absv32hi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20991 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_SSSE3
      || ((V32HImode == V2DImode || V32HImode == V4DImode)
	  && !TARGET_AVX512VL))
    {
      ix86_expand_sse2_abs (operands[0], operands[1]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V32HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20986 */
rtx
gen_absv16hi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20991 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_SSSE3
      || ((V16HImode == V2DImode || V16HImode == V4DImode)
	  && !TARGET_AVX512VL))
    {
      ix86_expand_sse2_abs (operands[0], operands[1]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V16HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20986 */
rtx
gen_absv8hi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20991 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_SSSE3
      || ((V8HImode == V2DImode || V8HImode == V4DImode)
	  && !TARGET_AVX512VL))
    {
      ix86_expand_sse2_abs (operands[0], operands[1]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V8HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20986 */
rtx
gen_absv16si2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20991 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_SSSE3
      || ((V16SImode == V2DImode || V16SImode == V4DImode)
	  && !TARGET_AVX512VL))
    {
      ix86_expand_sse2_abs (operands[0], operands[1]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V16SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20986 */
rtx
gen_absv8si2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20991 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_SSSE3
      || ((V8SImode == V2DImode || V8SImode == V4DImode)
	  && !TARGET_AVX512VL))
    {
      ix86_expand_sse2_abs (operands[0], operands[1]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V8SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20986 */
rtx
gen_absv4si2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20991 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_SSSE3
      || ((V4SImode == V2DImode || V4SImode == V4DImode)
	  && !TARGET_AVX512VL))
    {
      ix86_expand_sse2_abs (operands[0], operands[1]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V4SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20986 */
rtx
gen_absv8di2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20991 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_SSSE3
      || ((V8DImode == V2DImode || V8DImode == V4DImode)
	  && !TARGET_AVX512VL))
    {
      ix86_expand_sse2_abs (operands[0], operands[1]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V8DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20986 */
rtx
gen_absv4di2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20991 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_SSSE3
      || ((V4DImode == V2DImode || V4DImode == V4DImode)
	  && !TARGET_AVX512VL))
    {
      ix86_expand_sse2_abs (operands[0], operands[1]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V4DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:20986 */
rtx
gen_absv2di2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 20991 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_SSSE3
      || ((V2DImode == V2DImode || V2DImode == V4DImode)
	  && !TARGET_AVX512VL))
    {
      ix86_expand_sse2_abs (operands[0], operands[1]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ABS (V2DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21170 */
extern rtx_insn *gen_split_2587 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2587 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2587 (sse.md:21170)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21185 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = gen_lowpart (V8SFmode, operands[3]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21170 */
extern rtx_insn *gen_split_2588 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2588 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2588 (sse.md:21170)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21185 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = gen_lowpart (V4SFmode, operands[3]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21170 */
extern rtx_insn *gen_split_2589 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2589 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2589 (sse.md:21170)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21185 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = gen_lowpart (V4DFmode, operands[3]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21170 */
extern rtx_insn *gen_split_2590 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2590 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2590 (sse.md:21170)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21185 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = gen_lowpart (V2DFmode, operands[3]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21201 */
extern rtx_insn *gen_split_2591 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2591 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2591 (sse.md:21201)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21217 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = gen_lowpart (V4SFmode, operands[0]);
  operands[1] = gen_lowpart (V4SFmode, operands[1]);
  operands[2] = gen_lowpart (V4SFmode, operands[2]);
  operands[3] = gen_lowpart (V4SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21201 */
extern rtx_insn *gen_split_2592 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2592 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2592 (sse.md:21201)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21217 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = gen_lowpart (V2DFmode, operands[0]);
  operands[1] = gen_lowpart (V2DFmode, operands[1]);
  operands[2] = gen_lowpart (V2DFmode, operands[2]);
  operands[3] = gen_lowpart (V2DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21201 */
extern rtx_insn *gen_split_2593 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2593 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2593 (sse.md:21201)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21217 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = gen_lowpart (V8SFmode, operands[0]);
  operands[1] = gen_lowpart (V8SFmode, operands[1]);
  operands[2] = gen_lowpart (V8SFmode, operands[2]);
  operands[3] = gen_lowpart (V8SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21201 */
extern rtx_insn *gen_split_2594 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2594 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2594 (sse.md:21201)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21217 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = gen_lowpart (V4DFmode, operands[0]);
  operands[1] = gen_lowpart (V4DFmode, operands[1]);
  operands[2] = gen_lowpart (V4DFmode, operands[2]);
  operands[3] = gen_lowpart (V4DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21233 */
extern rtx_insn *gen_split_2595 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2595 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2595 (sse.md:21233)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21251 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = gen_lowpart (V4SFmode, operands[0]);
  operands[1] = gen_lowpart (V4SFmode, operands[1]);
  operands[2] = force_reg (V4SFmode,
			   gen_lowpart (V4SFmode, operands[2]));
  operands[3] = gen_lowpart (V4SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21233 */
extern rtx_insn *gen_split_2596 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2596 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2596 (sse.md:21233)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21251 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = gen_lowpart (V2DFmode, operands[0]);
  operands[1] = gen_lowpart (V2DFmode, operands[1]);
  operands[2] = force_reg (V2DFmode,
			   gen_lowpart (V2DFmode, operands[2]));
  operands[3] = gen_lowpart (V2DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21233 */
extern rtx_insn *gen_split_2597 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2597 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2597 (sse.md:21233)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21251 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = gen_lowpart (V8SFmode, operands[0]);
  operands[1] = gen_lowpart (V8SFmode, operands[1]);
  operands[2] = force_reg (V8SFmode,
			   gen_lowpart (V8SFmode, operands[2]));
  operands[3] = gen_lowpart (V8SFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21233 */
extern rtx_insn *gen_split_2598 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2598 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2598 (sse.md:21233)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21251 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = gen_lowpart (V4DFmode, operands[0]);
  operands[1] = gen_lowpart (V4DFmode, operands[1]);
  operands[2] = force_reg (V4DFmode,
			   gen_lowpart (V4DFmode, operands[2]));
  operands[3] = gen_lowpart (V4DFmode, operands[3]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21356 */
extern rtx_insn *gen_split_2599 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2599 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2599 (sse.md:21356)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21356 */
extern rtx_insn *gen_split_2600 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2600 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2600 (sse.md:21356)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21369 */
extern rtx_insn *gen_split_2601 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2601 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2601 (sse.md:21369)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21383 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = gen_lowpart (V32QImode, operands[3]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand4),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21369 */
extern rtx_insn *gen_split_2602 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2602 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2602 (sse.md:21369)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21383 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[4] = gen_lowpart (V16QImode, operands[3]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand4),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21385 */
extern rtx_insn *gen_split_2603 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2603 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2603 (sse.md:21385)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21399 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21385 */
extern rtx_insn *gen_split_2604 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2604 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2604 (sse.md:21385)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21399 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"

#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21408 */
extern rtx_insn *gen_split_2605 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2605 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2605 (sse.md:21408)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21428 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = gen_lowpart (V32QImode, operands[3]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_LT (V32QImode,
	operand3,
	operand4)),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21408 */
extern rtx_insn *gen_split_2606 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2606 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2606 (sse.md:21408)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21428 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = gen_lowpart (V16QImode, operands[3]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		gen_rtx_LT (V16QImode,
	operand3,
	operand4)),
	45)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21449 */
rtx
gen_avx2_pblendw (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21456 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  HOST_WIDE_INT val = INTVAL (operands[3]) & 0xff;
  operands[3] = GEN_INT (val << 8 | val);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	operand2,
	operand1,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21449 */
rtx
gen_avx2_pblendph (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21456 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  HOST_WIDE_INT val = INTVAL (operands[3]) & 0xff;
  operands[3] = GEN_INT (val << 8 | val);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	operand2,
	operand1,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21461 */
rtx
gen_avx2_pblendw_1 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21469 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  if (mask == 0)
    emit_move_insn (operands[0], operands[1]);
  else
   {
     rtx tmp = gen_reg_rtx (V16HImode);
     rtx blendw_idx, blendd_idx;

     if (mask & 0xff)
       {
	 blendw_idx = GEN_INT (mask & 0xff);
	 blendd_idx = GEN_INT (15);
       }
     else
       {
	 blendw_idx = GEN_INT (mask >> 8 & 0xff);
	 blendd_idx = GEN_INT (240);
       }
     emit_insn (gen_avx2_pblendw (tmp, operands[1],
						operands[2], blendw_idx));

     rtx op0 = gen_reg_rtx (V8SImode);
     tmp = lowpart_subreg (V8SImode, tmp, V16HImode);
     operands[1] = lowpart_subreg (V8SImode, operands[1], V16HImode);
     emit_insn (gen_avx2_pblenddv8si (op0, operands[1],
				      tmp, blendd_idx));
     emit_move_insn (operands[0], lowpart_subreg (V16HImode, op0, V8SImode));
  }

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	operand2,
	operand1,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21461 */
rtx
gen_avx2_pblendph_1 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21469 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  if (mask == 0)
    emit_move_insn (operands[0], operands[1]);
  else
   {
     rtx tmp = gen_reg_rtx (V16HFmode);
     rtx blendw_idx, blendd_idx;

     if (mask & 0xff)
       {
	 blendw_idx = GEN_INT (mask & 0xff);
	 blendd_idx = GEN_INT (15);
       }
     else
       {
	 blendw_idx = GEN_INT (mask >> 8 & 0xff);
	 blendd_idx = GEN_INT (240);
       }
     emit_insn (gen_avx2_pblendph (tmp, operands[1],
						operands[2], blendw_idx));

     rtx op0 = gen_reg_rtx (V8SImode);
     tmp = lowpart_subreg (V8SImode, tmp, V16HFmode);
     operands[1] = lowpart_subreg (V8SImode, operands[1], V16HFmode);
     emit_insn (gen_avx2_pblenddv8si (op0, operands[1],
				      tmp, blendd_idx));
     emit_move_insn (operands[0], lowpart_subreg (V16HFmode, op0, V8SImode));
  }

  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	operand2,
	operand1,
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21556 */
extern rtx_insn *gen_split_2607 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2607 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2607 (sse.md:21556)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21568 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V16HImode, operands[0], V32QImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V32QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V16HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21573 */
extern rtx_insn *gen_split_2608 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2608 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2608 (sse.md:21573)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21588 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V16HImode, operands[0], V32QImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V8HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V16HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21573 */
extern rtx_insn *gen_split_2609 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2609 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2609 (sse.md:21573)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21588 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V16HImode, operands[0], V32QImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V4SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V16HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21573 */
extern rtx_insn *gen_split_2610 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2610 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2610 (sse.md:21573)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21588 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V16HImode, operands[0], V32QImode);
  operands[1] = lowpart_subreg (V16QImode, operands[1], V2DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V16HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21593 */
rtx
gen_extendv16qiv16hi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V16HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21593 */
rtx
gen_zero_extendv16qiv16hi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V16HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21610 */
extern rtx_insn *gen_split_2611 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2611 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2611 (sse.md:21610)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21622 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V32HImode, operands[0], V64QImode);
  operands[1] = lowpart_subreg (V32QImode, operands[1], V64QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V32HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21627 */
extern rtx_insn *gen_split_2612 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2612 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2612 (sse.md:21627)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21642 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V32HImode, operands[0], V64QImode);
  operands[1] = lowpart_subreg (V32QImode, operands[1], V16HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V32HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21627 */
extern rtx_insn *gen_split_2613 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2613 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2613 (sse.md:21627)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21642 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V32HImode, operands[0], V64QImode);
  operands[1] = lowpart_subreg (V32QImode, operands[1], V8SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V32HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21627 */
extern rtx_insn *gen_split_2614 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2614 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2614 (sse.md:21627)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21642 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V32HImode, operands[0], V64QImode);
  operands[1] = lowpart_subreg (V32QImode, operands[1], V4DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V32HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21647 */
rtx
gen_extendv32qiv32hi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V32HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21647 */
rtx
gen_zero_extendv32qiv32hi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V32HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21682 */
extern rtx_insn *gen_split_2615 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2615 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2615 (sse.md:21682)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21700 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V8HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21682 */
extern rtx_insn *gen_split_2616 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2616 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2616 (sse.md:21682)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21700 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V8HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21682 */
extern rtx_insn *gen_split_2617 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2617 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2617 (sse.md:21682)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21700 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21682 */
extern rtx_insn *gen_split_2618 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2618 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2618 (sse.md:21682)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21700 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21702 */
extern rtx_insn *gen_split_2619 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2619 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2619 (sse.md:21702)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21721 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V8HImode, operands[0], V16QImode);
  if (MEM_P (operands[1]))
    {
      operands[1] = lowpart_subreg (V8QImode, operands[1], V16QImode);
      operands[1] = gen_rtx_ZERO_EXTEND (V8HImode, operands[1]);
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8HImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21733 */
extern rtx_insn *gen_split_2620 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2620 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2620 (sse.md:21733)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21755 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V8HImode, operands[0], V16QImode);
  if (MEM_P (operands[1]))
    {
      operands[1] = lowpart_subreg (V8QImode, operands[1], V4HImode);
      operands[1] = gen_rtx_ZERO_EXTEND (V8HImode, operands[1]);
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  operands[1] = lowpart_subreg (V16QImode, operands[1], V4HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8HImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21733 */
extern rtx_insn *gen_split_2621 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2621 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2621 (sse.md:21733)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21755 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V8HImode, operands[0], V16QImode);
  if (MEM_P (operands[1]))
    {
      operands[1] = lowpart_subreg (V8QImode, operands[1], V2SImode);
      operands[1] = gen_rtx_ZERO_EXTEND (V8HImode, operands[1]);
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  operands[1] = lowpart_subreg (V16QImode, operands[1], V2SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8HImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21733 */
extern rtx_insn *gen_split_2622 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2622 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2622 (sse.md:21733)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21755 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V8HImode, operands[0], V16QImode);
  if (MEM_P (operands[1]))
    {
      operands[1] = lowpart_subreg (V8QImode, operands[1], DImode);
      operands[1] = gen_rtx_ZERO_EXTEND (V8HImode, operands[1]);
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  operands[1] = lowpart_subreg (V16QImode, operands[1], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8HImode,
	gen_rtx_VEC_SELECT (V8QImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (8,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)],
		const_int_rtx[MAX_SAVED_CONST_INT + (4)],
		const_int_rtx[MAX_SAVED_CONST_INT + (5)],
		const_int_rtx[MAX_SAVED_CONST_INT + (6)],
		const_int_rtx[MAX_SAVED_CONST_INT + (7)]))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21768 */
rtx
gen_extendv8qiv8hi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21773 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      rtx op1 = force_reg (V8QImode, operands[1]);
      op1 = lowpart_subreg (V16QImode, op1, V8QImode);
      emit_insn (gen_sse4_1_sign_extendv8qiv8hi2 (operands[0], op1));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V8HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21768 */
rtx
gen_zero_extendv8qiv8hi2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21773 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      rtx op1 = force_reg (V8QImode, operands[1]);
      op1 = lowpart_subreg (V16QImode, op1, V8QImode);
      emit_insn (gen_sse4_1_zero_extendv8qiv8hi2 (operands[0], op1));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21793 */
rtx
gen_extendv16qiv16si2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V16SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21793 */
rtx
gen_zero_extendv16qiv16si2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V16SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21826 */
extern rtx_insn *gen_split_2623 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2623 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2623 (sse.md:21826)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21844 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V8SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21826 */
extern rtx_insn *gen_split_2624 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2624 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2624 (sse.md:21826)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21844 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V8SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21826 */
extern rtx_insn *gen_split_2625 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2625 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2625 (sse.md:21826)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21844 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21826 */
extern rtx_insn *gen_split_2626 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2626 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2626 (sse.md:21826)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21844 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21846 */
rtx
gen_extendv8qiv8si2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21851 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      rtx op1 = force_reg (V8QImode, operands[1]);
      op1 = lowpart_subreg (V16QImode, op1, V8QImode);
      emit_insn (gen_avx2_sign_extendv8qiv8si2 (operands[0], op1));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V8SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21846 */
rtx
gen_zero_extendv8qiv8si2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21851 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      rtx op1 = force_reg (V8QImode, operands[1]);
      op1 = lowpart_subreg (V16QImode, op1, V8QImode);
      emit_insn (gen_avx2_zero_extendv8qiv8si2 (operands[0], op1));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21888 */
extern rtx_insn *gen_split_2627 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2627 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2627 (sse.md:21888)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21908 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V4QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V4SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21888 */
extern rtx_insn *gen_split_2628 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2628 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2628 (sse.md:21888)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21908 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V4QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V4SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21888 */
extern rtx_insn *gen_split_2629 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2629 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2629 (sse.md:21888)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21908 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V4QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21888 */
extern rtx_insn *gen_split_2630 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2630 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2630 (sse.md:21888)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21908 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V4QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21910 */
rtx
gen_extendv4qiv4si2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21915 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      rtx op1 = force_reg (V4QImode, operands[1]);
      op1 = lowpart_subreg (V16QImode, op1, V4QImode);
      emit_insn (gen_sse4_1_sign_extendv4qiv4si2 (operands[0], op1));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V4SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21910 */
rtx
gen_zero_extendv4qiv4si2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21915 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      rtx op1 = force_reg (V4QImode, operands[1]);
      op1 = lowpart_subreg (V16QImode, op1, V4QImode);
      emit_insn (gen_sse4_1_zero_extendv4qiv4si2 (operands[0], op1));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21935 */
rtx
gen_extendv16hiv16si2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V16SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21935 */
rtx
gen_zero_extendv16hiv16si2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V16SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21941 */
extern rtx_insn *gen_split_2631 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2631 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2631 (sse.md:21941)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21953 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V16SImode, operands[0], V32HImode);
  operands[1] = lowpart_subreg (V16HImode, operands[1], V32HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V16SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21958 */
extern rtx_insn *gen_split_2632 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2632 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2632 (sse.md:21958)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21973 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V16SImode, operands[0], V32HImode);
  operands[1] = lowpart_subreg (V16HImode, operands[1], V32QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V16SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21958 */
extern rtx_insn *gen_split_2633 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2633 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2633 (sse.md:21958)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21973 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V16SImode, operands[0], V32HImode);
  operands[1] = lowpart_subreg (V16HImode, operands[1], V8SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V16SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21958 */
extern rtx_insn *gen_split_2634 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2634 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2634 (sse.md:21958)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 21973 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V16SImode, operands[0], V32HImode);
  operands[1] = lowpart_subreg (V16HImode, operands[1], V4DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V16SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21989 */
rtx
gen_extendv8hiv8si2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V8SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21989 */
rtx
gen_zero_extendv8hiv8si2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:21995 */
extern rtx_insn *gen_split_2635 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2635 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2635 (sse.md:21995)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22007 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V8SImode, operands[0], V16HImode);
  operands[1] = lowpart_subreg (V8HImode, operands[1], V16HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22012 */
extern rtx_insn *gen_split_2636 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2636 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2636 (sse.md:22012)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22027 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V8SImode, operands[0], V16HImode);
  operands[1] = lowpart_subreg (V8HImode, operands[1], V16QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22012 */
extern rtx_insn *gen_split_2637 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2637 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2637 (sse.md:22012)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22027 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V8SImode, operands[0], V16HImode);
  operands[1] = lowpart_subreg (V8HImode, operands[1], V4SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22012 */
extern rtx_insn *gen_split_2638 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2638 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2638 (sse.md:22012)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22027 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V8SImode, operands[0], V16HImode);
  operands[1] = lowpart_subreg (V8HImode, operands[1], V2DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22060 */
extern rtx_insn *gen_split_2639 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2639 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2639 (sse.md:22060)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22076 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V4HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V4SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22060 */
extern rtx_insn *gen_split_2640 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2640 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2640 (sse.md:22060)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22076 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V4HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V4SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22060 */
extern rtx_insn *gen_split_2641 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2641 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2641 (sse.md:22060)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22076 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V4HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22060 */
extern rtx_insn *gen_split_2642 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2642 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2642 (sse.md:22060)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22076 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V4HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22078 */
rtx
gen_extendv4hiv4si2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22083 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      rtx op1 = force_reg (V4HImode, operands[1]);
      op1 = lowpart_subreg (V8HImode, op1, V4HImode);
      emit_insn (gen_sse4_1_sign_extendv4hiv4si2 (operands[0], op1));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V4SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22078 */
rtx
gen_zero_extendv4hiv4si2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22083 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      rtx op1 = force_reg (V4HImode, operands[1]);
      op1 = lowpart_subreg (V8HImode, op1, V4HImode);
      emit_insn (gen_sse4_1_zero_extendv4hiv4si2 (operands[0], op1));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22093 */
extern rtx_insn *gen_split_2643 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2643 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2643 (sse.md:22093)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22110 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V4SImode, operands[0], V8HImode);
  if (MEM_P (operands[1]))
    {
      operands[1] = lowpart_subreg (V4HImode, operands[1], V8HImode);
      operands[1] = gen_rtx_ZERO_EXTEND (V4SImode, operands[1]);
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22122 */
extern rtx_insn *gen_split_2644 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2644 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2644 (sse.md:22122)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22142 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V4SImode, operands[0], V8HImode);
  if (MEM_P (operands[1]))
    {
      operands[1] = lowpart_subreg (V4HImode, operands[1], V8QImode);
      operands[1] = gen_rtx_ZERO_EXTEND (V4SImode, operands[1]);
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  operands[1] = lowpart_subreg (V8HImode, operands[1], V8QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22122 */
extern rtx_insn *gen_split_2645 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2645 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2645 (sse.md:22122)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22142 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V4SImode, operands[0], V8HImode);
  if (MEM_P (operands[1]))
    {
      operands[1] = lowpart_subreg (V4HImode, operands[1], V2SImode);
      operands[1] = gen_rtx_ZERO_EXTEND (V4SImode, operands[1]);
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  operands[1] = lowpart_subreg (V8HImode, operands[1], V2SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22122 */
extern rtx_insn *gen_split_2646 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2646 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2646 (sse.md:22122)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22142 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V4SImode, operands[0], V8HImode);
  if (MEM_P (operands[1]))
    {
      operands[1] = lowpart_subreg (V4HImode, operands[1], DImode);
      operands[1] = gen_rtx_ZERO_EXTEND (V4SImode, operands[1]);
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  operands[1] = lowpart_subreg (V8HImode, operands[1], DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4SImode,
	gen_rtx_VEC_SELECT (V4HImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (4,
		const0_rtx,
		const1_rtx,
		const_int_rtx[MAX_SAVED_CONST_INT + (2)],
		const_int_rtx[MAX_SAVED_CONST_INT + (3)]))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22180 */
extern rtx_insn *gen_split_2647 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2647 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2647 (sse.md:22180)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22197 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V8DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22180 */
extern rtx_insn *gen_split_2648 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2648 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2648 (sse.md:22180)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22197 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V8DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22180 */
extern rtx_insn *gen_split_2649 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2649 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2649 (sse.md:22180)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22197 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22180 */
extern rtx_insn *gen_split_2650 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2650 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2650 (sse.md:22180)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22197 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V8QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22199 */
rtx
gen_extendv8qiv8di2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22204 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      rtx op1 = force_reg (V8QImode, operands[1]);
      op1 = lowpart_subreg (V16QImode, op1, V8QImode);
      emit_insn (gen_avx512f_sign_extendv8qiv8di2 (operands[0], op1));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V8DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22199 */
rtx
gen_zero_extendv8qiv8di2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22204 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      rtx op1 = force_reg (V8QImode, operands[1]);
      op1 = lowpart_subreg (V16QImode, op1, V8QImode);
      emit_insn (gen_avx512f_zero_extendv8qiv8di2 (operands[0], op1));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22239 */
extern rtx_insn *gen_split_2651 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2651 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2651 (sse.md:22239)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22259 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V4QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V4DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22239 */
extern rtx_insn *gen_split_2652 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2652 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2652 (sse.md:22239)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22259 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V4QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V4DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22239 */
extern rtx_insn *gen_split_2653 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2653 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2653 (sse.md:22239)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22259 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V4QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22239 */
extern rtx_insn *gen_split_2654 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2654 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2654 (sse.md:22239)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22259 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V4QImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22261 */
rtx
gen_extendv4qiv4di2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22266 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      rtx op1 = force_reg (V4QImode, operands[1]);
      op1 = lowpart_subreg (V16QImode, operands[1], V4QImode);
      emit_insn (gen_avx2_sign_extendv4qiv4di2 (operands[0], op1));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V4DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22261 */
rtx
gen_zero_extendv4qiv4di2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22266 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      rtx op1 = force_reg (V4QImode, operands[1]);
      op1 = lowpart_subreg (V16QImode, operands[1], V4QImode);
      emit_insn (gen_avx2_zero_extendv4qiv4di2 (operands[0], op1));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22290 */
rtx
gen_extendv2qiv2di2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22295 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op1 = force_reg (V2QImode, operands[1]);
  op1 = lowpart_subreg (V16QImode, op1, V2QImode);
  emit_insn (gen_sse4_1_sign_extendv2qiv2di2 (operands[0], op1));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V2DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22290 */
rtx
gen_zero_extendv2qiv2di2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22295 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op1 = force_reg (V2QImode, operands[1]);
  op1 = lowpart_subreg (V16QImode, op1, V2QImode);
  emit_insn (gen_sse4_1_zero_extendv2qiv2di2 (operands[0], op1));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V2DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22312 */
rtx
gen_extendv8hiv8di2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V8DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22312 */
rtx
gen_zero_extendv8hiv8di2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22343 */
extern rtx_insn *gen_split_2655 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2655 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2655 (sse.md:22343)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22359 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V4HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V4DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22343 */
extern rtx_insn *gen_split_2656 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2656 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2656 (sse.md:22343)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22359 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V4HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V4DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22343 */
extern rtx_insn *gen_split_2657 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2657 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2657 (sse.md:22343)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22359 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V4HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22343 */
extern rtx_insn *gen_split_2658 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2658 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2658 (sse.md:22343)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22359 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V4HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22361 */
rtx
gen_extendv4hiv4di2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22366 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      rtx op1 = force_reg (V4HImode, operands[1]);
      op1 = lowpart_subreg (V8HImode, op1, V4HImode);
      emit_insn (gen_avx2_sign_extendv4hiv4di2 (operands[0], op1));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V4DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22361 */
rtx
gen_zero_extendv4hiv4di2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22366 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      rtx op1 = force_reg (V4HImode, operands[1]);
      op1 = lowpart_subreg (V8HImode, op1, V4HImode);
      emit_insn (gen_avx2_zero_extendv4hiv4di2 (operands[0], op1));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22402 */
extern rtx_insn *gen_split_2659 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2659 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2659 (sse.md:22402)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V2HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V2DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22402 */
extern rtx_insn *gen_split_2660 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2660 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2660 (sse.md:22402)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V2HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V2DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22402 */
extern rtx_insn *gen_split_2661 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2661 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2661 (sse.md:22402)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V2HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V2DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22402 */
extern rtx_insn *gen_split_2662 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2662 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2662 (sse.md:22402)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22421 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V2HImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V2DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22423 */
rtx
gen_extendv2hiv2di2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22428 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      rtx op1 = force_reg (V2HImode, operands[1]);
      op1 = lowpart_subreg (V8HImode, op1, V2HImode);
      emit_insn (gen_sse4_1_sign_extendv2hiv2di2 (operands[0], op1));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V2DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22423 */
rtx
gen_zero_extendv2hiv2di2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22428 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      rtx op1 = force_reg (V2HImode, operands[1]);
      op1 = lowpart_subreg (V8HImode, op1, V2HImode);
      emit_insn (gen_sse4_1_zero_extendv2hiv2di2 (operands[0], op1));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V2DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22448 */
extern rtx_insn *gen_split_2663 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2663 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2663 (sse.md:22448)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22460 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V8DImode, operands[0], V16SImode);
  operands[1] = lowpart_subreg (V8SImode, operands[1], V16SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22465 */
extern rtx_insn *gen_split_2664 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2664 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2664 (sse.md:22465)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22479 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V8DImode, operands[0], V16SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22483 */
rtx
gen_extendv8siv8di2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V8DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22483 */
rtx
gen_zero_extendv8siv8di2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V8DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22500 */
extern rtx_insn *gen_split_2665 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2665 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2665 (sse.md:22500)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22512 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V4DImode, operands[0], V8SImode);
  operands[1] = lowpart_subreg (V4SImode, operands[1], V8SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22517 */
extern rtx_insn *gen_split_2666 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2666 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2666 (sse.md:22517)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22531 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V4DImode, operands[0], V8SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22535 */
rtx
gen_extendv4siv4di2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V4DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22535 */
rtx
gen_zero_extendv4siv4di2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V4DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22567 */
extern rtx_insn *gen_split_2667 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2667 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2667 (sse.md:22567)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22582 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V2SImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V2DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22567 */
extern rtx_insn *gen_split_2668 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2668 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2668 (sse.md:22567)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22582 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V2SImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V2DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22567 */
extern rtx_insn *gen_split_2669 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2669 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2669 (sse.md:22567)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22582 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V2SImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V2DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22567 */
extern rtx_insn *gen_split_2670 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2670 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2670 (sse.md:22567)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22582 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[1] = adjust_address_nv (operands[1], V2SImode, 0);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V2DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22584 */
extern rtx_insn *gen_split_2671 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2671 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2671 (sse.md:22584)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22599 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V2DImode, operands[0], V4SImode);
  if (MEM_P (operands[1]))
    {
      operands[1] = lowpart_subreg (V2SImode, operands[1], V4SImode);
      operands[1] = gen_rtx_ZERO_EXTEND (V2DImode, operands[1]);
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22611 */
extern rtx_insn *gen_split_2672 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2672 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2672 (sse.md:22611)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22628 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[0] = lowpart_subreg (V2DImode, operands[0], V4SImode);
  if (MEM_P (operands[1]))
    {
      operands[1] = gen_rtx_ZERO_EXTEND (V2DImode, operands[1]);
      emit_insn (gen_rtx_SET (operands[0], operands[1]));
      DONE;
    }
  operands[1] = lowpart_subreg (V4SImode, operands[1], V2SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V2DImode,
	gen_rtx_VEC_SELECT (V2SImode,
	operand1,
	gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		const0_rtx,
		const1_rtx))))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22640 */
rtx
gen_extendv2siv2di2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22645 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      rtx op1 = force_reg (V2SImode, operands[1]);
      op1 = lowpart_subreg (V4SImode, op1, V2SImode);
      emit_insn (gen_sse4_1_sign_extendv2siv2di2 (operands[0], op1));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_SIGN_EXTEND (V2DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22640 */
rtx
gen_zero_extendv2siv2di2 (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22645 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!MEM_P (operands[1]))
    {
      rtx op1 = force_reg (V2SImode, operands[1]);
      op1 = lowpart_subreg (V4SImode, op1, V2SImode);
      emit_insn (gen_sse4_1_zero_extendv2siv2di2 (operands[0], op1));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ZERO_EXTEND (V2DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22702 */
rtx
gen_nearbyintv32hf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"nearbyintv32hf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22709 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = GEN_INT (ROUND_MXCSR | ROUND_NO_EXC);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22702 */
rtx
gen_nearbyintv16hf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"nearbyintv16hf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22709 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = GEN_INT (ROUND_MXCSR | ROUND_NO_EXC);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22702 */
rtx
gen_nearbyintv8hf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"nearbyintv8hf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22709 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = GEN_INT (ROUND_MXCSR | ROUND_NO_EXC);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22702 */
rtx
gen_nearbyintv16sf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"nearbyintv16sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22709 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = GEN_INT (ROUND_MXCSR | ROUND_NO_EXC);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22702 */
rtx
gen_nearbyintv8sf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"nearbyintv8sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22709 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = GEN_INT (ROUND_MXCSR | ROUND_NO_EXC);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22702 */
rtx
gen_nearbyintv4sf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"nearbyintv4sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22709 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = GEN_INT (ROUND_MXCSR | ROUND_NO_EXC);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22702 */
rtx
gen_nearbyintv8df2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"nearbyintv8df2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22709 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = GEN_INT (ROUND_MXCSR | ROUND_NO_EXC);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22702 */
rtx
gen_nearbyintv4df2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"nearbyintv4df2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22709 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = GEN_INT (ROUND_MXCSR | ROUND_NO_EXC);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22702 */
rtx
gen_nearbyintv2df2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"nearbyintv2df2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22709 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = GEN_INT (ROUND_MXCSR | ROUND_NO_EXC);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22711 */
rtx
gen_rintv32hf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"rintv32hf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22718 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = GEN_INT (ROUND_MXCSR);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22711 */
rtx
gen_rintv16hf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"rintv16hf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22718 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = GEN_INT (ROUND_MXCSR);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22711 */
rtx
gen_rintv8hf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"rintv8hf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22718 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = GEN_INT (ROUND_MXCSR);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22711 */
rtx
gen_rintv16sf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"rintv16sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22718 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = GEN_INT (ROUND_MXCSR);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22711 */
rtx
gen_rintv8sf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"rintv8sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22718 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = GEN_INT (ROUND_MXCSR);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22711 */
rtx
gen_rintv4sf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"rintv4sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22718 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = GEN_INT (ROUND_MXCSR);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22711 */
rtx
gen_rintv8df2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"rintv8df2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22718 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = GEN_INT (ROUND_MXCSR);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22711 */
rtx
gen_rintv4df2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"rintv4df2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22718 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = GEN_INT (ROUND_MXCSR);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22711 */
rtx
gen_rintv2df2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"rintv2df2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22718 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = GEN_INT (ROUND_MXCSR);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand2),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22736 */
rtx
gen_avx_roundps_sfix256 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22741 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8SFmode);

  emit_insn
    (gen_avx_roundps256 (tmp, operands[1],
						       operands[2]));
  emit_insn
    (gen_fix_truncv8sfv8si2 (operands[0], tmp));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22736 */
rtx
gen_sse4_1_roundps_sfix (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22741 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SFmode);

  emit_insn
    (gen_sse4_1_roundps (tmp, operands[1],
						       operands[2]));
  emit_insn
    (gen_fix_truncv4sfv4si2 (operands[0], tmp));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22752 */
rtx
gen_avx512f_roundps512 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22757 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_rndscalev16sf (operands[0], operands[1], operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22752 */
rtx
gen_avx512f_roundpd512 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22757 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_rndscalev8df (operands[0], operands[1], operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22762 */
rtx
gen_avx512f_roundps512_sfix (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22767 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16SFmode);
  emit_insn (gen_avx512f_rndscalev16sf (tmp, operands[1], operands[2]));
  emit_insn (gen_fix_truncv16sfv16si2 (operands[0], tmp));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22774 */
rtx
gen_avx512f_roundpd_vec_pack_sfix512 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22780 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp0, tmp1;

  if (V8DFmode == V2DFmode
      && TARGET_AVX && !TARGET_PREFER_AVX128 && optimize_insn_for_speed_p ())
    {
      rtx tmp2 = gen_reg_rtx (V4DFmode);

      tmp0 = gen_reg_rtx (V4DFmode);
      tmp1 = force_reg (V2DFmode, operands[1]);

      emit_insn (gen_avx_vec_concatv4df (tmp0, tmp1, operands[2]));
      emit_insn (gen_avx_roundpd256 (tmp2, tmp0, operands[3]));
      emit_insn (gen_fix_truncv4dfv4si2 (operands[0], tmp2));
    }
  else
    {
      tmp0 = gen_reg_rtx (V8DFmode);
      tmp1 = gen_reg_rtx (V8DFmode);

      emit_insn
       (gen_avx512f_roundpd512 (tmp0, operands[1],
							  operands[3]));
      emit_insn
       (gen_avx512f_roundpd512 (tmp1, operands[2],
							  operands[3]));
      emit_insn
       (gen_vec_pack_sfix_trunc_v8df (operands[0], tmp0, tmp1));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22774 */
rtx
gen_avx_roundpd_vec_pack_sfix256 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22780 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp0, tmp1;

  if (V4DFmode == V2DFmode
      && TARGET_AVX && !TARGET_PREFER_AVX128 && optimize_insn_for_speed_p ())
    {
      rtx tmp2 = gen_reg_rtx (V4DFmode);

      tmp0 = gen_reg_rtx (V4DFmode);
      tmp1 = force_reg (V2DFmode, operands[1]);

      emit_insn (gen_avx_vec_concatv4df (tmp0, tmp1, operands[2]));
      emit_insn (gen_avx_roundpd256 (tmp2, tmp0, operands[3]));
      emit_insn (gen_fix_truncv4dfv4si2 (operands[0], tmp2));
    }
  else
    {
      tmp0 = gen_reg_rtx (V4DFmode);
      tmp1 = gen_reg_rtx (V4DFmode);

      emit_insn
       (gen_avx_roundpd256 (tmp0, operands[1],
							  operands[3]));
      emit_insn
       (gen_avx_roundpd256 (tmp1, operands[2],
							  operands[3]));
      emit_insn
       (gen_vec_pack_sfix_trunc_v4df (operands[0], tmp0, tmp1));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22774 */
rtx
gen_sse4_1_roundpd_vec_pack_sfix (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22780 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp0, tmp1;

  if (V2DFmode == V2DFmode
      && TARGET_AVX && !TARGET_PREFER_AVX128 && optimize_insn_for_speed_p ())
    {
      rtx tmp2 = gen_reg_rtx (V4DFmode);

      tmp0 = gen_reg_rtx (V4DFmode);
      tmp1 = force_reg (V2DFmode, operands[1]);

      emit_insn (gen_avx_vec_concatv4df (tmp0, tmp1, operands[2]));
      emit_insn (gen_avx_roundpd256 (tmp2, tmp0, operands[3]));
      emit_insn (gen_fix_truncv4dfv4si2 (operands[0], tmp2));
    }
  else
    {
      tmp0 = gen_reg_rtx (V2DFmode);
      tmp1 = gen_reg_rtx (V2DFmode);

      emit_insn
       (gen_sse4_1_roundpd (tmp0, operands[1],
							  operands[3]));
      emit_insn
       (gen_sse4_1_roundpd (tmp1, operands[2],
							  operands[3]));
      emit_insn
       (gen_vec_pack_sfix_trunc_v2df (operands[0], tmp0, tmp1));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22859 */
rtx
gen_roundv16sf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"roundv16sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22869 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  machine_mode scalar_mode;
  const struct real_format *fmt;
  REAL_VALUE_TYPE pred_half, half_minus_pred_half;
  rtx half, vec_half;

  scalar_mode = GET_MODE_INNER (V16SFmode);

  /* load nextafter (0.5, 0.0) */
  fmt = REAL_MODE_FORMAT (scalar_mode);
  real_2expN (&half_minus_pred_half, -(fmt->p) - 1, scalar_mode);
  real_arithmetic (&pred_half, MINUS_EXPR, &dconsthalf, &half_minus_pred_half);
  half = const_double_from_real_value (pred_half, scalar_mode);

  vec_half = ix86_build_const_vector (V16SFmode, true, half);
  vec_half = force_reg (V16SFmode, vec_half);

  operands[2] = gen_reg_rtx (V16SFmode);
  emit_insn (gen_copysignv16sf3 (operands[2], vec_half, operands[1]));

  operands[3] = gen_reg_rtx (V16SFmode);
  operands[4] = GEN_INT (ROUND_TRUNC);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_PLUS (V16SFmode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		copy_rtx (operand3),
		operand4),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22859 */
rtx
gen_roundv8sf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"roundv8sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22869 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  machine_mode scalar_mode;
  const struct real_format *fmt;
  REAL_VALUE_TYPE pred_half, half_minus_pred_half;
  rtx half, vec_half;

  scalar_mode = GET_MODE_INNER (V8SFmode);

  /* load nextafter (0.5, 0.0) */
  fmt = REAL_MODE_FORMAT (scalar_mode);
  real_2expN (&half_minus_pred_half, -(fmt->p) - 1, scalar_mode);
  real_arithmetic (&pred_half, MINUS_EXPR, &dconsthalf, &half_minus_pred_half);
  half = const_double_from_real_value (pred_half, scalar_mode);

  vec_half = ix86_build_const_vector (V8SFmode, true, half);
  vec_half = force_reg (V8SFmode, vec_half);

  operands[2] = gen_reg_rtx (V8SFmode);
  emit_insn (gen_copysignv8sf3 (operands[2], vec_half, operands[1]));

  operands[3] = gen_reg_rtx (V8SFmode);
  operands[4] = GEN_INT (ROUND_TRUNC);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_PLUS (V8SFmode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		copy_rtx (operand3),
		operand4),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22859 */
rtx
gen_roundv4sf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"roundv4sf2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22869 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  machine_mode scalar_mode;
  const struct real_format *fmt;
  REAL_VALUE_TYPE pred_half, half_minus_pred_half;
  rtx half, vec_half;

  scalar_mode = GET_MODE_INNER (V4SFmode);

  /* load nextafter (0.5, 0.0) */
  fmt = REAL_MODE_FORMAT (scalar_mode);
  real_2expN (&half_minus_pred_half, -(fmt->p) - 1, scalar_mode);
  real_arithmetic (&pred_half, MINUS_EXPR, &dconsthalf, &half_minus_pred_half);
  half = const_double_from_real_value (pred_half, scalar_mode);

  vec_half = ix86_build_const_vector (V4SFmode, true, half);
  vec_half = force_reg (V4SFmode, vec_half);

  operands[2] = gen_reg_rtx (V4SFmode);
  emit_insn (gen_copysignv4sf3 (operands[2], vec_half, operands[1]));

  operands[3] = gen_reg_rtx (V4SFmode);
  operands[4] = GEN_INT (ROUND_TRUNC);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_PLUS (V4SFmode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		copy_rtx (operand3),
		operand4),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22859 */
rtx
gen_roundv8df2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"roundv8df2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22869 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  machine_mode scalar_mode;
  const struct real_format *fmt;
  REAL_VALUE_TYPE pred_half, half_minus_pred_half;
  rtx half, vec_half;

  scalar_mode = GET_MODE_INNER (V8DFmode);

  /* load nextafter (0.5, 0.0) */
  fmt = REAL_MODE_FORMAT (scalar_mode);
  real_2expN (&half_minus_pred_half, -(fmt->p) - 1, scalar_mode);
  real_arithmetic (&pred_half, MINUS_EXPR, &dconsthalf, &half_minus_pred_half);
  half = const_double_from_real_value (pred_half, scalar_mode);

  vec_half = ix86_build_const_vector (V8DFmode, true, half);
  vec_half = force_reg (V8DFmode, vec_half);

  operands[2] = gen_reg_rtx (V8DFmode);
  emit_insn (gen_copysignv8df3 (operands[2], vec_half, operands[1]));

  operands[3] = gen_reg_rtx (V8DFmode);
  operands[4] = GEN_INT (ROUND_TRUNC);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_PLUS (V8DFmode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		copy_rtx (operand3),
		operand4),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22859 */
rtx
gen_roundv4df2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"roundv4df2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22869 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  machine_mode scalar_mode;
  const struct real_format *fmt;
  REAL_VALUE_TYPE pred_half, half_minus_pred_half;
  rtx half, vec_half;

  scalar_mode = GET_MODE_INNER (V4DFmode);

  /* load nextafter (0.5, 0.0) */
  fmt = REAL_MODE_FORMAT (scalar_mode);
  real_2expN (&half_minus_pred_half, -(fmt->p) - 1, scalar_mode);
  real_arithmetic (&pred_half, MINUS_EXPR, &dconsthalf, &half_minus_pred_half);
  half = const_double_from_real_value (pred_half, scalar_mode);

  vec_half = ix86_build_const_vector (V4DFmode, true, half);
  vec_half = force_reg (V4DFmode, vec_half);

  operands[2] = gen_reg_rtx (V4DFmode);
  emit_insn (gen_copysignv4df3 (operands[2], vec_half, operands[1]));

  operands[3] = gen_reg_rtx (V4DFmode);
  operands[4] = GEN_INT (ROUND_TRUNC);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_PLUS (V4DFmode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		copy_rtx (operand3),
		operand4),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22859 */
rtx
gen_roundv2df2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL _Pragma ("GCC error \"roundv2df2 cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22869 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  machine_mode scalar_mode;
  const struct real_format *fmt;
  REAL_VALUE_TYPE pred_half, half_minus_pred_half;
  rtx half, vec_half;

  scalar_mode = GET_MODE_INNER (V2DFmode);

  /* load nextafter (0.5, 0.0) */
  fmt = REAL_MODE_FORMAT (scalar_mode);
  real_2expN (&half_minus_pred_half, -(fmt->p) - 1, scalar_mode);
  real_arithmetic (&pred_half, MINUS_EXPR, &dconsthalf, &half_minus_pred_half);
  half = const_double_from_real_value (pred_half, scalar_mode);

  vec_half = ix86_build_const_vector (V2DFmode, true, half);
  vec_half = force_reg (V2DFmode, vec_half);

  operands[2] = gen_reg_rtx (V2DFmode);
  emit_insn (gen_copysignv2df3 (operands[2], vec_half, operands[1]));

  operands[3] = gen_reg_rtx (V2DFmode);
  operands[4] = GEN_INT (ROUND_TRUNC);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand3,
	gen_rtx_PLUS (V2DFmode,
	operand1,
	operand2)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		copy_rtx (operand3),
		operand4),
	85)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22893 */
rtx
gen_roundv16sf2_sfix (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22897 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V16SFmode);

  emit_insn (gen_roundv16sf2 (tmp, operands[1]));

  emit_insn
    (gen_fix_truncv16sfv16si2 (operands[0], tmp));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22893 */
rtx
gen_roundv8sf2_sfix (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22897 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V8SFmode);

  emit_insn (gen_roundv8sf2 (tmp, operands[1]));

  emit_insn
    (gen_fix_truncv8sfv8si2 (operands[0], tmp));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22893 */
rtx
gen_roundv4sf2_sfix (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22897 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp = gen_reg_rtx (V4SFmode);

  emit_insn (gen_roundv4sf2 (tmp, operands[1]));

  emit_insn
    (gen_fix_truncv4sfv4si2 (operands[0], tmp));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22907 */
rtx
gen_roundv8df2_vec_pack_sfix (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22912 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp0, tmp1;

  if (V8DFmode == V2DFmode
      && TARGET_AVX && !TARGET_PREFER_AVX128 && optimize_insn_for_speed_p ())
    {
      rtx tmp2 = gen_reg_rtx (V4DFmode);

      tmp0 = gen_reg_rtx (V4DFmode);
      tmp1 = force_reg (V2DFmode, operands[1]);

      emit_insn (gen_avx_vec_concatv4df (tmp0, tmp1, operands[2]));
      emit_insn (gen_roundv4df2 (tmp2, tmp0));
      emit_insn (gen_fix_truncv4dfv4si2 (operands[0], tmp2));
    }
  else
    {
      tmp0 = gen_reg_rtx (V8DFmode);
      tmp1 = gen_reg_rtx (V8DFmode);

      emit_insn (gen_roundv8df2 (tmp0, operands[1]));
      emit_insn (gen_roundv8df2 (tmp1, operands[2]));

      emit_insn
       (gen_vec_pack_sfix_trunc_v8df (operands[0], tmp0, tmp1));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22907 */
rtx
gen_roundv4df2_vec_pack_sfix (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22912 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp0, tmp1;

  if (V4DFmode == V2DFmode
      && TARGET_AVX && !TARGET_PREFER_AVX128 && optimize_insn_for_speed_p ())
    {
      rtx tmp2 = gen_reg_rtx (V4DFmode);

      tmp0 = gen_reg_rtx (V4DFmode);
      tmp1 = force_reg (V2DFmode, operands[1]);

      emit_insn (gen_avx_vec_concatv4df (tmp0, tmp1, operands[2]));
      emit_insn (gen_roundv4df2 (tmp2, tmp0));
      emit_insn (gen_fix_truncv4dfv4si2 (operands[0], tmp2));
    }
  else
    {
      tmp0 = gen_reg_rtx (V4DFmode);
      tmp1 = gen_reg_rtx (V4DFmode);

      emit_insn (gen_roundv4df2 (tmp0, operands[1]));
      emit_insn (gen_roundv4df2 (tmp1, operands[2]));

      emit_insn
       (gen_vec_pack_sfix_trunc_v4df (operands[0], tmp0, tmp1));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22907 */
rtx
gen_roundv2df2_vec_pack_sfix (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22912 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp0, tmp1;

  if (V2DFmode == V2DFmode
      && TARGET_AVX && !TARGET_PREFER_AVX128 && optimize_insn_for_speed_p ())
    {
      rtx tmp2 = gen_reg_rtx (V4DFmode);

      tmp0 = gen_reg_rtx (V4DFmode);
      tmp1 = force_reg (V2DFmode, operands[1]);

      emit_insn (gen_avx_vec_concatv4df (tmp0, tmp1, operands[2]));
      emit_insn (gen_roundv4df2 (tmp2, tmp0));
      emit_insn (gen_fix_truncv4dfv4si2 (operands[0], tmp2));
    }
  else
    {
      tmp0 = gen_reg_rtx (V2DFmode);
      tmp1 = gen_reg_rtx (V2DFmode);

      emit_insn (gen_roundv2df2 (tmp0, operands[1]));
      emit_insn (gen_roundv2df2 (tmp1, operands[2]));

      emit_insn
       (gen_vec_pack_sfix_trunc_v2df (operands[0], tmp0, tmp1));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:22947 */
extern rtx_insn *gen_split_2673 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2673 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2673 (sse.md:22947)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 22977 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int ecx = !find_regno_note (curr_insn, REG_UNUSED, REGNO (operands[0]));
  int xmm0 = !find_regno_note (curr_insn, REG_UNUSED, REGNO (operands[1]));
  int flags = !find_regno_note (curr_insn, REG_UNUSED, FLAGS_REG);

  if (ecx)
    emit_insn (gen_sse4_2_pcmpestri (operands[0], operands[2],
				     operands[3], operands[4],
				     operands[5], operands[6]));
  if (xmm0)
    emit_insn (gen_sse4_2_pcmpestrm (operands[1], operands[2],
				     operands[3], operands[4],
				     operands[5], operands[6]));
  if (flags && !(ecx || xmm0))
    emit_insn (gen_sse4_2_pcmpestr_cconly (NULL, NULL,
					   operands[2], operands[3],
					   operands[4], operands[5],
					   operands[6]));
  if (!(flags || ecx || xmm0))
    emit_note (NOTE_INSN_DELETED);

  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23089 */
extern rtx_insn *gen_split_2674 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2674 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2674 (sse.md:23089)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23113 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int ecx = !find_regno_note (curr_insn, REG_UNUSED, REGNO (operands[0]));
  int xmm0 = !find_regno_note (curr_insn, REG_UNUSED, REGNO (operands[1]));
  int flags = !find_regno_note (curr_insn, REG_UNUSED, FLAGS_REG);

  if (ecx)
    emit_insn (gen_sse4_2_pcmpistri (operands[0], operands[2],
				     operands[3], operands[4]));
  if (xmm0)
    emit_insn (gen_sse4_2_pcmpistrm (operands[1], operands[2],
				     operands[3], operands[4]));
  if (flags && !(ecx || xmm0))
    emit_insn (gen_sse4_2_pcmpistr_cconly (NULL, NULL,
					   operands[2], operands[3],
					   operands[4]));
  if (!(flags || ecx || xmm0))
    emit_note (NOTE_INSN_DELETED);

  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23216 */
rtx
gen_avx512pf_gatherpfv16sisf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23227 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[1],
					operands[3]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (3,
		operand0,
		gen_rtx_MEM (V16SFmode,
	operand5),
		operand4),
	163));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23216 */
rtx
gen_avx512pf_gatherpfv8disf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23227 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[1],
					operands[3]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (3,
		operand0,
		gen_rtx_MEM (V8SFmode,
	operand5),
		operand4),
	163));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23263 */
rtx
gen_avx512pf_gatherpfv8sidf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23274 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[1],
					operands[3]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (3,
		operand0,
		gen_rtx_MEM (V8DFmode,
	operand5),
		operand4),
	163));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23263 */
rtx
gen_avx512pf_gatherpfv8didf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23274 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[1],
					operands[3]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (3,
		operand0,
		gen_rtx_MEM (V8DFmode,
	operand5),
		operand4),
	163));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23310 */
rtx
gen_avx512pf_scatterpfv16sisf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23321 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[1],
					operands[3]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (3,
		operand0,
		gen_rtx_MEM (V16SFmode,
	operand5),
		operand4),
	164));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23310 */
rtx
gen_avx512pf_scatterpfv8disf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23321 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[1],
					operands[3]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (3,
		operand0,
		gen_rtx_MEM (V8SFmode,
	operand5),
		operand4),
	164));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23359 */
rtx
gen_avx512pf_scatterpfv8sidf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23370 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[1],
					operands[3]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (3,
		operand0,
		gen_rtx_MEM (V8DFmode,
	operand5),
		operand4),
	164));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23359 */
rtx
gen_avx512pf_scatterpfv8didf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23370 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[1],
					operands[3]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (3,
		operand0,
		gen_rtx_MEM (V8DFmode,
	operand5),
		operand4),
	164));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23855 */
rtx
gen_rotlv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23861 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* If we were given a scalar, convert it to parallel */
  if (! const_0_to_7_operand (operands[2], SImode))
    {
      rtvec vs = rtvec_alloc (16);
      rtx par = gen_rtx_PARALLEL (V16QImode, vs);
      rtx reg = gen_reg_rtx (V16QImode);
      rtx op2 = operands[2];
      int i;

      if (GET_MODE (op2) != QImode)
	{
	  op2 = gen_reg_rtx (QImode);
	  convert_move (op2, operands[2], false);
	}

      for (i = 0; i < 16; i++)
	RTVEC_ELT (vs, i) = op2;

      emit_insn (gen_vec_initv16qiqi (reg, par));
      emit_insn (gen_xop_vrotlv16qi3 (operands[0], operands[1], reg));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATE (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23855 */
rtx
gen_rotlv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23861 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* If we were given a scalar, convert it to parallel */
  if (! const_0_to_15_operand (operands[2], SImode))
    {
      rtvec vs = rtvec_alloc (8);
      rtx par = gen_rtx_PARALLEL (V8HImode, vs);
      rtx reg = gen_reg_rtx (V8HImode);
      rtx op2 = operands[2];
      int i;

      if (GET_MODE (op2) != HImode)
	{
	  op2 = gen_reg_rtx (HImode);
	  convert_move (op2, operands[2], false);
	}

      for (i = 0; i < 8; i++)
	RTVEC_ELT (vs, i) = op2;

      emit_insn (gen_vec_initv8hihi (reg, par));
      emit_insn (gen_xop_vrotlv8hi3 (operands[0], operands[1], reg));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATE (V8HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23855 */
rtx
gen_rotlv4si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23861 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* If we were given a scalar, convert it to parallel */
  if (! const_0_to_31_operand (operands[2], SImode))
    {
      rtvec vs = rtvec_alloc (4);
      rtx par = gen_rtx_PARALLEL (V4SImode, vs);
      rtx reg = gen_reg_rtx (V4SImode);
      rtx op2 = operands[2];
      int i;

      if (GET_MODE (op2) != SImode)
	{
	  op2 = gen_reg_rtx (SImode);
	  convert_move (op2, operands[2], false);
	}

      for (i = 0; i < 4; i++)
	RTVEC_ELT (vs, i) = op2;

      emit_insn (gen_vec_initv4sisi (reg, par));
      emit_insn (gen_xop_vrotlv4si3 (operands[0], operands[1], reg));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATE (V4SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23855 */
rtx
gen_rotlv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23861 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* If we were given a scalar, convert it to parallel */
  if (! const_0_to_63_operand (operands[2], SImode))
    {
      rtvec vs = rtvec_alloc (2);
      rtx par = gen_rtx_PARALLEL (V2DImode, vs);
      rtx reg = gen_reg_rtx (V2DImode);
      rtx op2 = operands[2];
      int i;

      if (GET_MODE (op2) != DImode)
	{
	  op2 = gen_reg_rtx (DImode);
	  convert_move (op2, operands[2], false);
	}

      for (i = 0; i < 2; i++)
	RTVEC_ELT (vs, i) = op2;

      emit_insn (gen_vec_initv2didi (reg, par));
      emit_insn (gen_xop_vrotlv2di3 (operands[0], operands[1], reg));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATE (V2DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23886 */
rtx
gen_rotrv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23892 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* If we were given a scalar, convert it to parallel */
  if (! const_0_to_7_operand (operands[2], SImode))
    {
      rtvec vs = rtvec_alloc (16);
      rtx par = gen_rtx_PARALLEL (V16QImode, vs);
      rtx neg = gen_reg_rtx (V16QImode);
      rtx reg = gen_reg_rtx (V16QImode);
      rtx op2 = operands[2];
      int i;

      if (GET_MODE (op2) != QImode)
	{
	  op2 = gen_reg_rtx (QImode);
	  convert_move (op2, operands[2], false);
	}

      for (i = 0; i < 16; i++)
	RTVEC_ELT (vs, i) = op2;

      emit_insn (gen_vec_initv16qiqi (reg, par));
      emit_insn (gen_negv16qi2 (neg, reg));
      emit_insn (gen_xop_vrotlv16qi3 (operands[0], operands[1], neg));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23886 */
rtx
gen_rotrv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23892 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* If we were given a scalar, convert it to parallel */
  if (! const_0_to_15_operand (operands[2], SImode))
    {
      rtvec vs = rtvec_alloc (8);
      rtx par = gen_rtx_PARALLEL (V8HImode, vs);
      rtx neg = gen_reg_rtx (V8HImode);
      rtx reg = gen_reg_rtx (V8HImode);
      rtx op2 = operands[2];
      int i;

      if (GET_MODE (op2) != HImode)
	{
	  op2 = gen_reg_rtx (HImode);
	  convert_move (op2, operands[2], false);
	}

      for (i = 0; i < 8; i++)
	RTVEC_ELT (vs, i) = op2;

      emit_insn (gen_vec_initv8hihi (reg, par));
      emit_insn (gen_negv8hi2 (neg, reg));
      emit_insn (gen_xop_vrotlv8hi3 (operands[0], operands[1], neg));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (V8HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23886 */
rtx
gen_rotrv4si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23892 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* If we were given a scalar, convert it to parallel */
  if (! const_0_to_31_operand (operands[2], SImode))
    {
      rtvec vs = rtvec_alloc (4);
      rtx par = gen_rtx_PARALLEL (V4SImode, vs);
      rtx neg = gen_reg_rtx (V4SImode);
      rtx reg = gen_reg_rtx (V4SImode);
      rtx op2 = operands[2];
      int i;

      if (GET_MODE (op2) != SImode)
	{
	  op2 = gen_reg_rtx (SImode);
	  convert_move (op2, operands[2], false);
	}

      for (i = 0; i < 4; i++)
	RTVEC_ELT (vs, i) = op2;

      emit_insn (gen_vec_initv4sisi (reg, par));
      emit_insn (gen_negv4si2 (neg, reg));
      emit_insn (gen_xop_vrotlv4si3 (operands[0], operands[1], neg));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (V4SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23886 */
rtx
gen_rotrv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23892 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  /* If we were given a scalar, convert it to parallel */
  if (! const_0_to_63_operand (operands[2], SImode))
    {
      rtvec vs = rtvec_alloc (2);
      rtx par = gen_rtx_PARALLEL (V2DImode, vs);
      rtx neg = gen_reg_rtx (V2DImode);
      rtx reg = gen_reg_rtx (V2DImode);
      rtx op2 = operands[2];
      int i;

      if (GET_MODE (op2) != DImode)
	{
	  op2 = gen_reg_rtx (DImode);
	  convert_move (op2, operands[2], false);
	}

      for (i = 0; i < 2; i++)
	RTVEC_ELT (vs, i) = op2;

      emit_insn (gen_vec_initv2didi (reg, par));
      emit_insn (gen_negv2di2 (neg, reg));
      emit_insn (gen_xop_vrotlv2di3 (operands[0], operands[1], neg));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ROTATERT (V2DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23945 */
rtx
gen_vrotrv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23950 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx reg = gen_reg_rtx (V16QImode);
  emit_insn (gen_negv16qi2 (reg, operands[2]));
  emit_insn (gen_xop_vrotlv16qi3 (operands[0], operands[1], reg));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23945 */
rtx
gen_vrotrv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23950 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx reg = gen_reg_rtx (V8HImode);
  emit_insn (gen_negv8hi2 (reg, operands[2]));
  emit_insn (gen_xop_vrotlv8hi3 (operands[0], operands[1], reg));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23945 */
rtx
gen_vrotrv4si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23950 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx reg = gen_reg_rtx (V4SImode);
  emit_insn (gen_negv4si2 (reg, operands[2]));
  emit_insn (gen_xop_vrotlv4si3 (operands[0], operands[1], reg));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23945 */
rtx
gen_vrotrv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23950 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx reg = gen_reg_rtx (V2DImode);
  emit_insn (gen_negv2di2 (reg, operands[2]));
  emit_insn (gen_xop_vrotlv2di3 (operands[0], operands[1], reg));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23957 */
rtx
gen_vrotlv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23962 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_xop_vrotlv16qi3 (operands[0], operands[1], operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23957 */
rtx
gen_vrotlv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23962 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_xop_vrotlv8hi3 (operands[0], operands[1], operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23957 */
rtx
gen_vrotlv4si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23962 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_xop_vrotlv4si3 (operands[0], operands[1], operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23957 */
rtx
gen_vrotlv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23962 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_xop_vrotlv2di3 (operands[0], operands[1], operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23987 */
rtx
gen_vlshrv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23993 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_XOP)
    {
      rtx neg = gen_reg_rtx (V16QImode);
      emit_insn (gen_negv16qi2 (neg, operands[2]));
      emit_insn (gen_xop_shlv16qi3 (operands[0], operands[1], neg));
      DONE;
    }
    else if (V16QImode == V16QImode)
    {
      ix86_expand_vecop_qihi (LSHIFTRT, operands[0], operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:23987 */
rtx
gen_vlshrv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 23993 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_XOP)
    {
      rtx neg = gen_reg_rtx (V8HImode);
      emit_insn (gen_negv8hi2 (neg, operands[2]));
      emit_insn (gen_xop_shlv8hi3 (operands[0], operands[1], neg));
      DONE;
    }
    else if (V8HImode == V16QImode)
    {
      ix86_expand_vecop_qihi (LSHIFTRT, operands[0], operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V8HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24008 */
rtx
gen_vlshrv4si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24014 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_AVX2)
    {
      rtx neg = gen_reg_rtx (V4SImode);
      emit_insn (gen_negv4si2 (neg, operands[2]));
      emit_insn (gen_xop_shlv4si3 (operands[0], operands[1], neg));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V4SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24008 */
rtx
gen_vlshrv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24014 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_AVX2)
    {
      rtx neg = gen_reg_rtx (V2DImode);
      emit_insn (gen_negv2di2 (neg, operands[2]));
      emit_insn (gen_xop_shlv2di3 (operands[0], operands[1], neg));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V2DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24024 */
rtx
gen_vashlv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24030 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (V64QImode == V32QImode || V64QImode == V64QImode)
    {
      ix86_expand_vecop_qihi (ASHIFT, operands[0], operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V64QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24024 */
rtx
gen_vlshrv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24030 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (V64QImode == V32QImode || V64QImode == V64QImode)
    {
      ix86_expand_vecop_qihi (LSHIFTRT, operands[0], operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V64QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24024 */
rtx
gen_vashrv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24030 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (V64QImode == V32QImode || V64QImode == V64QImode)
    {
      ix86_expand_vecop_qihi (ASHIFTRT, operands[0], operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V64QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24024 */
rtx
gen_vashlv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24030 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (V32QImode == V32QImode || V32QImode == V64QImode)
    {
      ix86_expand_vecop_qihi (ASHIFT, operands[0], operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V32QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24024 */
rtx
gen_vlshrv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24030 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (V32QImode == V32QImode || V32QImode == V64QImode)
    {
      ix86_expand_vecop_qihi (LSHIFTRT, operands[0], operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V32QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24024 */
rtx
gen_vashrv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24030 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (V32QImode == V32QImode || V32QImode == V64QImode)
    {
      ix86_expand_vecop_qihi (ASHIFTRT, operands[0], operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V32QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24024 */
rtx
gen_vashlv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24030 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (V32HImode == V32QImode || V32HImode == V64QImode)
    {
      ix86_expand_vecop_qihi (ASHIFT, operands[0], operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V32HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24024 */
rtx
gen_vlshrv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24030 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (V32HImode == V32QImode || V32HImode == V64QImode)
    {
      ix86_expand_vecop_qihi (LSHIFTRT, operands[0], operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V32HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24024 */
rtx
gen_vashrv32hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24030 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (V32HImode == V32QImode || V32HImode == V64QImode)
    {
      ix86_expand_vecop_qihi (ASHIFTRT, operands[0], operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V32HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24024 */
rtx
gen_vashlv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24030 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (V16HImode == V32QImode || V16HImode == V64QImode)
    {
      ix86_expand_vecop_qihi (ASHIFT, operands[0], operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V16HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24024 */
rtx
gen_vlshrv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24030 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (V16HImode == V32QImode || V16HImode == V64QImode)
    {
      ix86_expand_vecop_qihi (LSHIFTRT, operands[0], operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V16HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24024 */
rtx
gen_vashrv16hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24030 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (V16HImode == V32QImode || V16HImode == V64QImode)
    {
      ix86_expand_vecop_qihi (ASHIFTRT, operands[0], operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V16HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24038 */
rtx
gen_vashlv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24044 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vecop_qihi (ASHIFT, operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V8QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24038 */
rtx
gen_vlshrv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24044 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vecop_qihi (LSHIFTRT, operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V8QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24038 */
rtx
gen_vashrv8qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24044 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vecop_qihi (ASHIFTRT, operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V8QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24049 */
rtx
gen_vlshrv16si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V16SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24049 */
rtx
gen_vlshrv8di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V8DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24056 */
rtx
gen_vlshrv8si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V8SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24056 */
rtx
gen_vlshrv4di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V4DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24063 */
rtx
gen_vashrv8di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V8DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24070 */
rtx
gen_vashrv4di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24076 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_AVX512VL)
    {
      rtx mask = ix86_build_signbit_mask (V4DImode, 1, 0);
      rtx t1 = gen_reg_rtx (V4DImode);
      rtx t2 = gen_reg_rtx (V4DImode);
      rtx t3 = gen_reg_rtx (V4DImode);
      emit_insn (gen_vlshrv4di3 (t1, operands[1], operands[2]));
      emit_insn (gen_vlshrv4di3 (t2, mask, operands[2]));
      emit_insn (gen_xorv4di3 (t3, t1, t2));
      emit_insn (gen_subv4di3 (operands[0], t3, t2));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V4DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24091 */
rtx
gen_vashrv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24097 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_XOP)
    {
      rtx neg = gen_reg_rtx (V16QImode);
      emit_insn (gen_negv16qi2 (neg, operands[2]));
      emit_insn (gen_xop_shav16qi3 (operands[0], operands[1], neg));
      DONE;
    }
  else if(V16QImode == V16QImode)
    {
      ix86_expand_vecop_qihi (ASHIFTRT, operands[0],operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24091 */
rtx
gen_vashrv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24097 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_XOP)
    {
      rtx neg = gen_reg_rtx (V8HImode);
      emit_insn (gen_negv8hi2 (neg, operands[2]));
      emit_insn (gen_xop_shav8hi3 (operands[0], operands[1], neg));
      DONE;
    }
  else if(V8HImode == V16QImode)
    {
      ix86_expand_vecop_qihi (ASHIFTRT, operands[0],operands[1], operands[2]);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V8HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24112 */
rtx
gen_vashrv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24118 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_XOP)
    {
      rtx neg = gen_reg_rtx (V2DImode);
      emit_insn (gen_negv2di2 (neg, operands[2]));
      emit_insn (gen_xop_shav2di3 (operands[0], operands[1], neg));
      DONE;
    }
  if (!TARGET_AVX512VL)
    {
      rtx mask = ix86_build_signbit_mask (V2DImode, 1, 0);
      rtx t1 = gen_reg_rtx (V2DImode);
      rtx t2 = gen_reg_rtx (V2DImode);
      rtx t3 = gen_reg_rtx (V2DImode);
      emit_insn (gen_vlshrv2di3 (t1, operands[1], operands[2]));
      emit_insn (gen_vlshrv2di3 (t2, mask, operands[2]));
      emit_insn (gen_xorv2di3 (t3, t1, t2));
      emit_insn (gen_subv2di3 (operands[0], t3, t2));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V2DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24140 */
rtx
gen_vashrv4si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24145 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_AVX2)
    {
      rtx neg = gen_reg_rtx (V4SImode);
      emit_insn (gen_negv4si2 (neg, operands[2]));
      emit_insn (gen_xop_shav4si3 (operands[0], operands[1], neg));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V4SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24155 */
rtx
gen_vashrv16si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V16SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24161 */
rtx
gen_vashrv8si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V8SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24167 */
rtx
gen_vashlv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24173 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_XOP)
  {
    emit_insn (gen_xop_shav16qi3 (operands[0], operands[1], operands[2]));
    DONE;
  }
  else if (V16QImode == V16QImode)
  {
    ix86_expand_vecop_qihi (ASHIFT, operands[0], operands[1], operands[2]);
    DONE;
  }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24167 */
rtx
gen_vashlv8hi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24173 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_XOP)
  {
    emit_insn (gen_xop_shav8hi3 (operands[0], operands[1], operands[2]));
    DONE;
  }
  else if (V8HImode == V16QImode)
  {
    ix86_expand_vecop_qihi (ASHIFT, operands[0], operands[1], operands[2]);
    DONE;
  }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V8HImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24186 */
rtx
gen_vashlv4si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24192 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_AVX2)
    {
      operands[2] = force_reg (V4SImode, operands[2]);
      emit_insn (gen_xop_shav4si3 (operands[0], operands[1], operands[2]));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V4SImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24186 */
rtx
gen_vashlv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24192 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_AVX2)
    {
      operands[2] = force_reg (V2DImode, operands[2]);
      emit_insn (gen_xop_shav2di3 (operands[0], operands[1], operands[2]));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V2DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24201 */
rtx
gen_vashlv16si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V16SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24201 */
rtx
gen_vashlv8di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V8DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24208 */
rtx
gen_vashlv8si3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V8SImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24208 */
rtx
gen_vashlv4di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V4DImode,
	operand1,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24253 */
rtx
gen_ashlv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24259 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_XOP && V64QImode == V16QImode)
    {
      bool negate = false;
      rtx (*gen) (rtx, rtx, rtx);
      rtx tmp, par;
      int i;

      if (ASHIFT != ASHIFT)
	{
	  if (CONST_INT_P (operands[2]))
	    operands[2] = GEN_INT (-INTVAL (operands[2]));
	  else
	    negate = true;
	}
      par = gen_rtx_PARALLEL (V16QImode, rtvec_alloc (16));
      tmp = lowpart_subreg (QImode, operands[2], SImode);
      for (i = 0; i < 16; i++)
	XVECEXP (par, 0, i) = tmp;

      tmp = gen_reg_rtx (V16QImode);
      emit_insn (gen_vec_initv16qiqi (tmp, par));

      if (negate)
	emit_insn (gen_negv16qi2 (tmp, tmp));

      gen = (ASHIFT == LSHIFTRT ? gen_xop_shlv16qi3 : gen_xop_shav16qi3);
      emit_insn (gen (operands[0], operands[1], tmp));
    }
  else
    ix86_expand_vecop_qihi (ASHIFT, operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V64QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24253 */
rtx
gen_lshrv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24259 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_XOP && V64QImode == V16QImode)
    {
      bool negate = false;
      rtx (*gen) (rtx, rtx, rtx);
      rtx tmp, par;
      int i;

      if (LSHIFTRT != ASHIFT)
	{
	  if (CONST_INT_P (operands[2]))
	    operands[2] = GEN_INT (-INTVAL (operands[2]));
	  else
	    negate = true;
	}
      par = gen_rtx_PARALLEL (V16QImode, rtvec_alloc (16));
      tmp = lowpart_subreg (QImode, operands[2], SImode);
      for (i = 0; i < 16; i++)
	XVECEXP (par, 0, i) = tmp;

      tmp = gen_reg_rtx (V16QImode);
      emit_insn (gen_vec_initv16qiqi (tmp, par));

      if (negate)
	emit_insn (gen_negv16qi2 (tmp, tmp));

      gen = (LSHIFTRT == LSHIFTRT ? gen_xop_shlv16qi3 : gen_xop_shav16qi3);
      emit_insn (gen (operands[0], operands[1], tmp));
    }
  else
    ix86_expand_vecop_qihi (LSHIFTRT, operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V64QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24253 */
rtx
gen_ashrv64qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24259 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_XOP && V64QImode == V16QImode)
    {
      bool negate = false;
      rtx (*gen) (rtx, rtx, rtx);
      rtx tmp, par;
      int i;

      if (ASHIFTRT != ASHIFT)
	{
	  if (CONST_INT_P (operands[2]))
	    operands[2] = GEN_INT (-INTVAL (operands[2]));
	  else
	    negate = true;
	}
      par = gen_rtx_PARALLEL (V16QImode, rtvec_alloc (16));
      tmp = lowpart_subreg (QImode, operands[2], SImode);
      for (i = 0; i < 16; i++)
	XVECEXP (par, 0, i) = tmp;

      tmp = gen_reg_rtx (V16QImode);
      emit_insn (gen_vec_initv16qiqi (tmp, par));

      if (negate)
	emit_insn (gen_negv16qi2 (tmp, tmp));

      gen = (ASHIFTRT == LSHIFTRT ? gen_xop_shlv16qi3 : gen_xop_shav16qi3);
      emit_insn (gen (operands[0], operands[1], tmp));
    }
  else
    ix86_expand_vecop_qihi (ASHIFTRT, operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V64QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24253 */
rtx
gen_ashlv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24259 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_XOP && V32QImode == V16QImode)
    {
      bool negate = false;
      rtx (*gen) (rtx, rtx, rtx);
      rtx tmp, par;
      int i;

      if (ASHIFT != ASHIFT)
	{
	  if (CONST_INT_P (operands[2]))
	    operands[2] = GEN_INT (-INTVAL (operands[2]));
	  else
	    negate = true;
	}
      par = gen_rtx_PARALLEL (V16QImode, rtvec_alloc (16));
      tmp = lowpart_subreg (QImode, operands[2], SImode);
      for (i = 0; i < 16; i++)
	XVECEXP (par, 0, i) = tmp;

      tmp = gen_reg_rtx (V16QImode);
      emit_insn (gen_vec_initv16qiqi (tmp, par));

      if (negate)
	emit_insn (gen_negv16qi2 (tmp, tmp));

      gen = (ASHIFT == LSHIFTRT ? gen_xop_shlv16qi3 : gen_xop_shav16qi3);
      emit_insn (gen (operands[0], operands[1], tmp));
    }
  else
    ix86_expand_vecop_qihi (ASHIFT, operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V32QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24253 */
rtx
gen_lshrv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24259 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_XOP && V32QImode == V16QImode)
    {
      bool negate = false;
      rtx (*gen) (rtx, rtx, rtx);
      rtx tmp, par;
      int i;

      if (LSHIFTRT != ASHIFT)
	{
	  if (CONST_INT_P (operands[2]))
	    operands[2] = GEN_INT (-INTVAL (operands[2]));
	  else
	    negate = true;
	}
      par = gen_rtx_PARALLEL (V16QImode, rtvec_alloc (16));
      tmp = lowpart_subreg (QImode, operands[2], SImode);
      for (i = 0; i < 16; i++)
	XVECEXP (par, 0, i) = tmp;

      tmp = gen_reg_rtx (V16QImode);
      emit_insn (gen_vec_initv16qiqi (tmp, par));

      if (negate)
	emit_insn (gen_negv16qi2 (tmp, tmp));

      gen = (LSHIFTRT == LSHIFTRT ? gen_xop_shlv16qi3 : gen_xop_shav16qi3);
      emit_insn (gen (operands[0], operands[1], tmp));
    }
  else
    ix86_expand_vecop_qihi (LSHIFTRT, operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V32QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24253 */
rtx
gen_ashrv32qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24259 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_XOP && V32QImode == V16QImode)
    {
      bool negate = false;
      rtx (*gen) (rtx, rtx, rtx);
      rtx tmp, par;
      int i;

      if (ASHIFTRT != ASHIFT)
	{
	  if (CONST_INT_P (operands[2]))
	    operands[2] = GEN_INT (-INTVAL (operands[2]));
	  else
	    negate = true;
	}
      par = gen_rtx_PARALLEL (V16QImode, rtvec_alloc (16));
      tmp = lowpart_subreg (QImode, operands[2], SImode);
      for (i = 0; i < 16; i++)
	XVECEXP (par, 0, i) = tmp;

      tmp = gen_reg_rtx (V16QImode);
      emit_insn (gen_vec_initv16qiqi (tmp, par));

      if (negate)
	emit_insn (gen_negv16qi2 (tmp, tmp));

      gen = (ASHIFTRT == LSHIFTRT ? gen_xop_shlv16qi3 : gen_xop_shav16qi3);
      emit_insn (gen (operands[0], operands[1], tmp));
    }
  else
    ix86_expand_vecop_qihi (ASHIFTRT, operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V32QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24253 */
rtx
gen_ashlv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24259 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_XOP && V16QImode == V16QImode)
    {
      bool negate = false;
      rtx (*gen) (rtx, rtx, rtx);
      rtx tmp, par;
      int i;

      if (ASHIFT != ASHIFT)
	{
	  if (CONST_INT_P (operands[2]))
	    operands[2] = GEN_INT (-INTVAL (operands[2]));
	  else
	    negate = true;
	}
      par = gen_rtx_PARALLEL (V16QImode, rtvec_alloc (16));
      tmp = lowpart_subreg (QImode, operands[2], SImode);
      for (i = 0; i < 16; i++)
	XVECEXP (par, 0, i) = tmp;

      tmp = gen_reg_rtx (V16QImode);
      emit_insn (gen_vec_initv16qiqi (tmp, par));

      if (negate)
	emit_insn (gen_negv16qi2 (tmp, tmp));

      gen = (ASHIFT == LSHIFTRT ? gen_xop_shlv16qi3 : gen_xop_shav16qi3);
      emit_insn (gen (operands[0], operands[1], tmp));
    }
  else
    ix86_expand_vecop_qihi (ASHIFT, operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFT (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24253 */
rtx
gen_lshrv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24259 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_XOP && V16QImode == V16QImode)
    {
      bool negate = false;
      rtx (*gen) (rtx, rtx, rtx);
      rtx tmp, par;
      int i;

      if (LSHIFTRT != ASHIFT)
	{
	  if (CONST_INT_P (operands[2]))
	    operands[2] = GEN_INT (-INTVAL (operands[2]));
	  else
	    negate = true;
	}
      par = gen_rtx_PARALLEL (V16QImode, rtvec_alloc (16));
      tmp = lowpart_subreg (QImode, operands[2], SImode);
      for (i = 0; i < 16; i++)
	XVECEXP (par, 0, i) = tmp;

      tmp = gen_reg_rtx (V16QImode);
      emit_insn (gen_vec_initv16qiqi (tmp, par));

      if (negate)
	emit_insn (gen_negv16qi2 (tmp, tmp));

      gen = (LSHIFTRT == LSHIFTRT ? gen_xop_shlv16qi3 : gen_xop_shav16qi3);
      emit_insn (gen (operands[0], operands[1], tmp));
    }
  else
    ix86_expand_vecop_qihi (LSHIFTRT, operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_LSHIFTRT (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24253 */
rtx
gen_ashrv16qi3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24259 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (TARGET_XOP && V16QImode == V16QImode)
    {
      bool negate = false;
      rtx (*gen) (rtx, rtx, rtx);
      rtx tmp, par;
      int i;

      if (ASHIFTRT != ASHIFT)
	{
	  if (CONST_INT_P (operands[2]))
	    operands[2] = GEN_INT (-INTVAL (operands[2]));
	  else
	    negate = true;
	}
      par = gen_rtx_PARALLEL (V16QImode, rtvec_alloc (16));
      tmp = lowpart_subreg (QImode, operands[2], SImode);
      for (i = 0; i < 16; i++)
	XVECEXP (par, 0, i) = tmp;

      tmp = gen_reg_rtx (V16QImode);
      emit_insn (gen_vec_initv16qiqi (tmp, par));

      if (negate)
	emit_insn (gen_negv16qi2 (tmp, tmp));

      gen = (ASHIFTRT == LSHIFTRT ? gen_xop_shlv16qi3 : gen_xop_shav16qi3);
      emit_insn (gen (operands[0], operands[1], tmp));
    }
  else
    ix86_expand_vecop_qihi (ASHIFTRT, operands[0], operands[1], operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V16QImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24293 */
rtx
gen_ashrv2di3 (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24299 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!TARGET_AVX512VL)
    {
      if (TARGET_SSE4_2
	  && CONST_INT_P (operands[2])
	  && UINTVAL (operands[2]) >= 63)
	{
	  rtx zero = force_reg (V2DImode, CONST0_RTX (V2DImode));
	  emit_insn (gen_sse4_2_gtv2di3 (operands[0], zero, operands[1]));
	  DONE;
	}
      if (operands[2] == const0_rtx)
	{
	  emit_move_insn (operands[0], operands[1]);
	  DONE;
	}
      if (CONST_INT_P (operands[2])
	  && (!TARGET_XOP || UINTVAL (operands[2]) >= 63))
	{
	  vec_perm_builder sel (4, 4, 1);
	  sel.quick_grow (4);
	  rtx arg0, arg1;
	  rtx op1 = lowpart_subreg (V4SImode,
				    force_reg (V2DImode, operands[1]),
				    V2DImode);
	  rtx target = gen_reg_rtx (V4SImode);
	  if (UINTVAL (operands[2]) >= 63)
	    {
	      arg0 = arg1 = gen_reg_rtx (V4SImode);
	      emit_insn (gen_ashrv4si3 (arg0, op1, GEN_INT (31)));
	      sel[0] = 1;
	      sel[1] = 1;
	      sel[2] = 3;
	      sel[3] = 3;
	    }
	  else if (INTVAL (operands[2]) > 32)
	    {
	      arg0 = gen_reg_rtx (V4SImode);
	      arg1 = gen_reg_rtx (V4SImode);
	      emit_insn (gen_ashrv4si3 (arg1, op1, GEN_INT (31)));
	      emit_insn (gen_ashrv4si3 (arg0, op1,
					GEN_INT (INTVAL (operands[2]) - 32)));
	      sel[0] = 1;
	      sel[1] = 5;
	      sel[2] = 3;
	      sel[3] = 7;
	    }
	  else if (INTVAL (operands[2]) == 32)
	    {
	      arg0 = op1;
	      arg1 = gen_reg_rtx (V4SImode);
	      emit_insn (gen_ashrv4si3 (arg1, op1, GEN_INT (31)));
	      sel[0] = 1;
	      sel[1] = 5;
	      sel[2] = 3;
	      sel[3] = 7;
	    }
	  else
	    {
	      arg0 = gen_reg_rtx (V2DImode);
	      arg1 = gen_reg_rtx (V4SImode);
	      emit_insn (gen_lshrv2di3 (arg0, operands[1], operands[2]));
	      emit_insn (gen_ashrv4si3 (arg1, op1, operands[2]));
	      arg0 = lowpart_subreg (V4SImode, arg0, V2DImode);
	      sel[0] = 0;
	      sel[1] = 5;
	      sel[2] = 2;
	      sel[3] = 7;
	    }
	  vec_perm_indices indices (sel, arg0 != arg1 ? 2 : 1, 4);
	  bool ok = targetm.vectorize.vec_perm_const (V4SImode, target,
						      arg0, arg1, indices);
	  gcc_assert (ok);
	  emit_move_insn (operands[0],
			  lowpart_subreg (V2DImode, target, V4SImode));
	  DONE;
	}
      if (!TARGET_XOP)
	{
	  rtx zero = force_reg (V2DImode, CONST0_RTX (V2DImode));
	  rtx zero_or_all_ones;
	  if (TARGET_SSE4_2)
	    {
	      zero_or_all_ones = gen_reg_rtx (V2DImode);
	      emit_insn (gen_sse4_2_gtv2di3 (zero_or_all_ones, zero,
					     operands[1]));
	    }
	  else
	    {
	      rtx temp = gen_reg_rtx (V4SImode);
	      emit_insn (gen_ashrv4si3 (temp,
					lowpart_subreg (V4SImode,
							force_reg (V2DImode,
								   operands[1]),
							V2DImode),
					GEN_INT (31)));
	      zero_or_all_ones = gen_reg_rtx (V4SImode);
	      emit_insn (gen_sse2_pshufd_1 (zero_or_all_ones, temp,
					    const1_rtx, const1_rtx,
					    GEN_INT (3), GEN_INT (3)));
	      zero_or_all_ones = lowpart_subreg (V2DImode, zero_or_all_ones,
						 V4SImode);
	    }
	  rtx lshr_res = gen_reg_rtx (V2DImode);
	  emit_insn (gen_lshrv2di3 (lshr_res, operands[1], operands[2]));
	  rtx ashl_res = gen_reg_rtx (V2DImode);
	  rtx amount;
	  if (TARGET_64BIT)
	    {
	      amount = gen_reg_rtx (DImode);
	      emit_insn (gen_subdi3 (amount, force_reg (DImode, GEN_INT (64)),
				     operands[2]));
	    }
	  else
	    {
	      rtx temp = gen_reg_rtx (SImode);
	      emit_insn (gen_subsi3 (temp, force_reg (SImode, GEN_INT (64)),
				     lowpart_subreg (SImode, operands[2],
						     DImode)));
	      amount = gen_reg_rtx (V4SImode);
	      emit_insn (gen_vec_setv4si_0 (amount, CONST0_RTX (V4SImode),
					    temp));
	    }
	  amount = lowpart_subreg (DImode, amount, GET_MODE (amount));
	  emit_insn (gen_ashlv2di3 (ashl_res, zero_or_all_ones, amount));
	  emit_insn (gen_iorv2di3 (operands[0], lshr_res, ashl_res));
	  DONE;
	}

      rtx reg = gen_reg_rtx (V2DImode);
      rtx par;
      bool negate = false;
      int i;

      if (CONST_INT_P (operands[2]))
	operands[2] = GEN_INT (-INTVAL (operands[2]));
      else
	negate = true;

      par = gen_rtx_PARALLEL (V2DImode, rtvec_alloc (2));
      for (i = 0; i < 2; i++)
	XVECEXP (par, 0, i) = operands[2];

      emit_insn (gen_vec_initv2didi (reg, par));

      if (negate)
	emit_insn (gen_negv2di2 (reg, reg));

      emit_insn (gen_xop_shav2di3 (operands[0], operands[1], reg));
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_ASHIFTRT (V2DImode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24463 */
rtx
gen_xop_vmfrczv4sf2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24472 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V4SFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	122),
	operand2,
	const1_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24463 */
rtx
gen_xop_vmfrczv2df2 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24472 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V2DFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	122),
	operand2,
	const1_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24675 */
rtx
gen_avx_vzeroall (void)
{
  rtx operand0;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[1];
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24678 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int nregs = TARGET_64BIT ? 16 : 8;
  int regno;

  operands[0] = gen_rtx_PARALLEL (VOIDmode, rtvec_alloc (nregs + 1));

  XVECEXP (operands[0], 0, 0)
    = gen_rtx_UNSPEC_VOLATILE (VOIDmode, gen_rtvec (1, const0_rtx),
			       UNSPECV_VZEROALL);

  for (regno = 0; regno < nregs; regno++)
    XVECEXP (operands[0], 0, regno + 1)
      = gen_rtx_SET (gen_rtx_REG (V8SImode, GET_SSE_REGNO (regno)),
		     CONST0_RTX (V8SImode));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
  }
  emit_insn (operand0);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24711 */
rtx
gen_avx_vzeroupper (void)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24716 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_avx_vzeroupper ();
  DONE;
}
#undef DONE
#undef FAIL
  }
  emit_call_insn (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_CALL (VOIDmode,
	gen_rtx_MEM (QImode,
	const0_rtx),
	const0_rtx),
		gen_rtx_UNSPEC (VOIDmode,
	gen_rtvec (1,
		const1_rtx),
	95))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24847 */
extern rtx_insn *gen_split_2675 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2675 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2675 (sse.md:24847)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24858 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0 = operands[0], op1 = operands[1];
  int elt = INTVAL (operands[3]);

  if (REG_P (op1))
    {
      int mask;

      if (TARGET_AVX2 && elt == 0)
	{
	  emit_insn (gen_vec_dupv8sf (op0, gen_lowpart (SFmode,
							  op1)));
	  DONE;
	}

      /* Shuffle element we care about into all elements of the 128-bit lane.
	 The other lane gets shuffled too, but we don't care.  */
      if (V8SFmode == V4DFmode)
	mask = (elt & 1 ? 15 : 0);
      else
	mask = (elt & 3) * 0x55;
      emit_insn (gen_avx_vpermilv8sf (op0, op1, GEN_INT (mask)));

      /* Shuffle the lane we care about into both lanes of the dest.  */
      mask = (elt / (8 / 2)) * 0x11;
      if (EXT_REX_SSE_REG_P (op0))
	{
	  /* There is no EVEX VPERM2F128, but we can use either VBROADCASTSS
	     or VSHUFF128.  */
	  gcc_assert (V8SFmode == V8SFmode);
	  if ((mask & 1) == 0)
	    emit_insn (gen_avx2_vec_dupv8sf (op0,
					     gen_lowpart (V4SFmode, op0)));
	  else
	    emit_insn (gen_avx512vl_shuf_f32x4_1 (op0, op0, op0,
						  GEN_INT (4), GEN_INT (5),
						  GEN_INT (6), GEN_INT (7),
						  GEN_INT (12), GEN_INT (13),
						  GEN_INT (14), GEN_INT (15)));
	  DONE;
	}

      emit_insn (gen_avx_vperm2f128v8sf3 (op0, op0, op0, GEN_INT (mask)));
      DONE;
    }

  operands[1] = adjust_address (op1, SFmode,
				elt * GET_MODE_SIZE (SFmode));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8SFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24847 */
extern rtx_insn *gen_split_2676 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2676 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2676 (sse.md:24847)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24858 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0 = operands[0], op1 = operands[1];
  int elt = INTVAL (operands[3]);

  if (REG_P (op1))
    {
      int mask;

      if (TARGET_AVX2 && elt == 0)
	{
	  emit_insn (gen_vec_dupv4df (op0, gen_lowpart (DFmode,
							  op1)));
	  DONE;
	}

      /* Shuffle element we care about into all elements of the 128-bit lane.
	 The other lane gets shuffled too, but we don't care.  */
      if (V4DFmode == V4DFmode)
	mask = (elt & 1 ? 15 : 0);
      else
	mask = (elt & 3) * 0x55;
      emit_insn (gen_avx_vpermilv4df (op0, op1, GEN_INT (mask)));

      /* Shuffle the lane we care about into both lanes of the dest.  */
      mask = (elt / (4 / 2)) * 0x11;
      if (EXT_REX_SSE_REG_P (op0))
	{
	  /* There is no EVEX VPERM2F128, but we can use either VBROADCASTSS
	     or VSHUFF128.  */
	  gcc_assert (V4DFmode == V8SFmode);
	  if ((mask & 1) == 0)
	    emit_insn (gen_avx2_vec_dupv8sf (op0,
					     gen_lowpart (V4SFmode, op0)));
	  else
	    emit_insn (gen_avx512vl_shuf_f32x4_1 (op0, op0, op0,
						  GEN_INT (4), GEN_INT (5),
						  GEN_INT (6), GEN_INT (7),
						  GEN_INT (12), GEN_INT (13),
						  GEN_INT (14), GEN_INT (15)));
	  DONE;
	}

      emit_insn (gen_avx_vperm2f128v4df3 (op0, op0, op0, GEN_INT (mask)));
      DONE;
    }

  operands[1] = adjust_address (op1, DFmode,
				elt * GET_MODE_SIZE (DFmode));
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V4DFmode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24908 */
rtx
gen_avx512f_vpermilv8df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24914 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  rtx perm[8];

  int i;
  for (i = 0; i < 8; i = i + 2)
    {
      perm[i]     = GEN_INT (((mask >> i)       & 1) + i);
      perm[i + 1] = GEN_INT (((mask >> (i + 1)) & 1) + i);
    }

  operands[2]
    = gen_rtx_PARALLEL (VOIDmode, gen_rtvec_v (8, perm));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24908 */
rtx
gen_avx512f_vpermilv8df_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24914 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  rtx perm[8];

  int i;
  for (i = 0; i < 8; i = i + 2)
    {
      perm[i]     = GEN_INT (((mask >> i)       & 1) + i);
      perm[i + 1] = GEN_INT (((mask >> (i + 1)) & 1) + i);
    }

  operands[2]
    = gen_rtx_PARALLEL (VOIDmode, gen_rtvec_v (8, perm));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_VEC_SELECT (V8DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24908 */
rtx
gen_avx_vpermilv4df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24914 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  rtx perm[4];

  int i;
  for (i = 0; i < 4; i = i + 2)
    {
      perm[i]     = GEN_INT (((mask >> i)       & 1) + i);
      perm[i + 1] = GEN_INT (((mask >> (i + 1)) & 1) + i);
    }

  operands[2]
    = gen_rtx_PARALLEL (VOIDmode, gen_rtvec_v (4, perm));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24908 */
rtx
gen_avx_vpermilv4df_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24914 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  rtx perm[4];

  int i;
  for (i = 0; i < 4; i = i + 2)
    {
      perm[i]     = GEN_INT (((mask >> i)       & 1) + i);
      perm[i + 1] = GEN_INT (((mask >> (i + 1)) & 1) + i);
    }

  operands[2]
    = gen_rtx_PARALLEL (VOIDmode, gen_rtvec_v (4, perm));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_VEC_SELECT (V4DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24908 */
rtx
gen_avx_vpermilv2df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24914 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  rtx perm[2];

  int i;
  for (i = 0; i < 2; i = i + 2)
    {
      perm[i]     = GEN_INT (((mask >> i)       & 1) + i);
      perm[i + 1] = GEN_INT (((mask >> (i + 1)) & 1) + i);
    }

  operands[2]
    = gen_rtx_PARALLEL (VOIDmode, gen_rtvec_v (2, perm));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V2DFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24908 */
rtx
gen_avx_vpermilv2df_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24914 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  rtx perm[2];

  int i;
  for (i = 0; i < 2; i = i + 2)
    {
      perm[i]     = GEN_INT (((mask >> i)       & 1) + i);
      perm[i + 1] = GEN_INT (((mask >> (i + 1)) & 1) + i);
    }

  operands[2]
    = gen_rtx_PARALLEL (VOIDmode, gen_rtvec_v (2, perm));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_VEC_SELECT (V2DFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24929 */
rtx
gen_avx512f_vpermilv16sf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24935 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  rtx perm[16];

  int i;
  for (i = 0; i < 16; i = i + 4)
    {
      perm[i]     = GEN_INT (((mask >> 0) & 3) + i);
      perm[i + 1] = GEN_INT (((mask >> 2) & 3) + i);
      perm[i + 2] = GEN_INT (((mask >> 4) & 3) + i);
      perm[i + 3] = GEN_INT (((mask >> 6) & 3) + i);
    }

  operands[2]
    = gen_rtx_PARALLEL (VOIDmode, gen_rtvec_v (16, perm));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V16SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24929 */
rtx
gen_avx512f_vpermilv16sf_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24935 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  rtx perm[16];

  int i;
  for (i = 0; i < 16; i = i + 4)
    {
      perm[i]     = GEN_INT (((mask >> 0) & 3) + i);
      perm[i + 1] = GEN_INT (((mask >> 2) & 3) + i);
      perm[i + 2] = GEN_INT (((mask >> 4) & 3) + i);
      perm[i + 3] = GEN_INT (((mask >> 6) & 3) + i);
    }

  operands[2]
    = gen_rtx_PARALLEL (VOIDmode, gen_rtvec_v (16, perm));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_VEC_SELECT (V16SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24929 */
rtx
gen_avx_vpermilv8sf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24935 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  rtx perm[8];

  int i;
  for (i = 0; i < 8; i = i + 4)
    {
      perm[i]     = GEN_INT (((mask >> 0) & 3) + i);
      perm[i + 1] = GEN_INT (((mask >> 2) & 3) + i);
      perm[i + 2] = GEN_INT (((mask >> 4) & 3) + i);
      perm[i + 3] = GEN_INT (((mask >> 6) & 3) + i);
    }

  operands[2]
    = gen_rtx_PARALLEL (VOIDmode, gen_rtvec_v (8, perm));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V8SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24929 */
rtx
gen_avx_vpermilv8sf_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24935 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  rtx perm[8];

  int i;
  for (i = 0; i < 8; i = i + 4)
    {
      perm[i]     = GEN_INT (((mask >> 0) & 3) + i);
      perm[i + 1] = GEN_INT (((mask >> 2) & 3) + i);
      perm[i + 2] = GEN_INT (((mask >> 4) & 3) + i);
      perm[i + 3] = GEN_INT (((mask >> 6) & 3) + i);
    }

  operands[2]
    = gen_rtx_PARALLEL (VOIDmode, gen_rtvec_v (8, perm));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_VEC_SELECT (V8SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24929 */
rtx
gen_avx_vpermilv4sf (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24935 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  rtx perm[4];

  int i;
  for (i = 0; i < 4; i = i + 4)
    {
      perm[i]     = GEN_INT (((mask >> 0) & 3) + i);
      perm[i + 1] = GEN_INT (((mask >> 2) & 3) + i);
      perm[i + 2] = GEN_INT (((mask >> 4) & 3) + i);
      perm[i + 3] = GEN_INT (((mask >> 6) & 3) + i);
    }

  operands[2]
    = gen_rtx_PARALLEL (VOIDmode, gen_rtvec_v (4, perm));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_SELECT (V4SFmode,
	operand1,
	operand2)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24929 */
rtx
gen_avx_vpermilv4sf_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24935 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  rtx perm[4];

  int i;
  for (i = 0; i < 4; i = i + 4)
    {
      perm[i]     = GEN_INT (((mask >> 0) & 3) + i);
      perm[i + 1] = GEN_INT (((mask >> 2) & 3) + i);
      perm[i + 2] = GEN_INT (((mask >> 4) & 3) + i);
      perm[i + 3] = GEN_INT (((mask >> 6) & 3) + i);
    }

  operands[2]
    = gen_rtx_PARALLEL (VOIDmode, gen_rtvec_v (4, perm));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_VEC_SELECT (V4SFmode,
	operand1,
	operand2),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24975 */
rtx
gen_avx2_permv4di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24980 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_avx2_permv4di_1 (operands[0], operands[1],
				    GEN_INT ((mask >> 0) & 3),
				    GEN_INT ((mask >> 2) & 3),
				    GEN_INT ((mask >> 4) & 3),
				    GEN_INT ((mask >> 6) & 3)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24975 */
rtx
gen_avx2_permv4df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24980 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_avx2_permv4df_1 (operands[0], operands[1],
				    GEN_INT ((mask >> 0) & 3),
				    GEN_INT ((mask >> 2) & 3),
				    GEN_INT ((mask >> 4) & 3),
				    GEN_INT ((mask >> 6) & 3)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24990 */
rtx
gen_avx512vl_permv4di_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24997 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_avx2_permv4di_1_mask (operands[0], operands[1],
						  GEN_INT ((mask >> 0) & 3),
						  GEN_INT ((mask >> 2) & 3),
						  GEN_INT ((mask >> 4) & 3),
						  GEN_INT ((mask >> 6) & 3),
						  operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:24990 */
rtx
gen_avx512vl_permv4df_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 24997 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_avx2_permv4df_1_mask (operands[0], operands[1],
						  GEN_INT ((mask >> 0) & 3),
						  GEN_INT ((mask >> 2) & 3),
						  GEN_INT ((mask >> 4) & 3),
						  GEN_INT ((mask >> 6) & 3),
						  operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25034 */
rtx
gen_avx512f_permv8df (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25039 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_avx512f_permv8df_1 (operands[0], operands[1],
				       GEN_INT ((mask >> 0) & 3),
				       GEN_INT ((mask >> 2) & 3),
				       GEN_INT ((mask >> 4) & 3),
				       GEN_INT ((mask >> 6) & 3),
				       GEN_INT (((mask >> 0) & 3) + 4),
				       GEN_INT (((mask >> 2) & 3) + 4),
				       GEN_INT (((mask >> 4) & 3) + 4),
				       GEN_INT (((mask >> 6) & 3) + 4)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25034 */
rtx
gen_avx512f_permv8di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25039 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_avx512f_permv8di_1 (operands[0], operands[1],
				       GEN_INT ((mask >> 0) & 3),
				       GEN_INT ((mask >> 2) & 3),
				       GEN_INT ((mask >> 4) & 3),
				       GEN_INT ((mask >> 6) & 3),
				       GEN_INT (((mask >> 0) & 3) + 4),
				       GEN_INT (((mask >> 2) & 3) + 4),
				       GEN_INT (((mask >> 4) & 3) + 4),
				       GEN_INT (((mask >> 6) & 3) + 4)));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25053 */
rtx
gen_avx512f_permv8df_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25060 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_avx512f_permv8df_1_mask (operands[0], operands[1],
					    GEN_INT ((mask >> 0) & 3),
					    GEN_INT ((mask >> 2) & 3),
					    GEN_INT ((mask >> 4) & 3),
					    GEN_INT ((mask >> 6) & 3),
					    GEN_INT (((mask >> 0) & 3) + 4),
					    GEN_INT (((mask >> 2) & 3) + 4),
					    GEN_INT (((mask >> 4) & 3) + 4),
					    GEN_INT (((mask >> 6) & 3) + 4),
					    operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25053 */
rtx
gen_avx512f_permv8di_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25060 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[2]);
  emit_insn (gen_avx512f_permv8di_1_mask (operands[0], operands[1],
					    GEN_INT ((mask >> 0) & 3),
					    GEN_INT ((mask >> 2) & 3),
					    GEN_INT ((mask >> 4) & 3),
					    GEN_INT ((mask >> 6) & 3),
					    GEN_INT (((mask >> 0) & 3) + 4),
					    GEN_INT (((mask >> 2) & 3) + 4),
					    GEN_INT (((mask >> 4) & 3) + 4),
					    GEN_INT (((mask >> 6) & 3) + 4),
					    operands[3], operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25344 */
extern rtx_insn *gen_split_2677 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2677 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2677 (sse.md:25344)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25357 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vec_setv4si_0 (gen_lowpart (V4SImode, operands[0]),
				CONST0_RTX (V4SImode),
				gen_lowpart (SImode, operands[1])));
  emit_insn (gen_avx2_pbroadcastv32qi (operands[0],
					gen_lowpart (V16QImode,
						     operands[0])));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25344 */
extern rtx_insn *gen_split_2678 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2678 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2678 (sse.md:25344)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25357 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vec_setv4si_0 (gen_lowpart (V4SImode, operands[0]),
				CONST0_RTX (V4SImode),
				gen_lowpart (SImode, operands[1])));
  emit_insn (gen_avx2_pbroadcastv16qi (operands[0],
					gen_lowpart (V16QImode,
						     operands[0])));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25344 */
extern rtx_insn *gen_split_2679 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2679 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2679 (sse.md:25344)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25357 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vec_setv4si_0 (gen_lowpart (V4SImode, operands[0]),
				CONST0_RTX (V4SImode),
				gen_lowpart (SImode, operands[1])));
  emit_insn (gen_avx2_pbroadcastv16hi (operands[0],
					gen_lowpart (V8HImode,
						     operands[0])));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25344 */
extern rtx_insn *gen_split_2680 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2680 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2680 (sse.md:25344)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25357 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vec_setv4si_0 (gen_lowpart (V4SImode, operands[0]),
				CONST0_RTX (V4SImode),
				gen_lowpart (SImode, operands[1])));
  emit_insn (gen_avx2_pbroadcastv8hi (operands[0],
					gen_lowpart (V8HImode,
						     operands[0])));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25344 */
extern rtx_insn *gen_split_2681 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2681 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2681 (sse.md:25344)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25357 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vec_setv4si_0 (gen_lowpart (V4SImode, operands[0]),
				CONST0_RTX (V4SImode),
				gen_lowpart (SImode, operands[1])));
  emit_insn (gen_avx2_pbroadcastv8si (operands[0],
					gen_lowpart (V4SImode,
						     operands[0])));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25344 */
extern rtx_insn *gen_split_2682 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2682 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2682 (sse.md:25344)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25357 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vec_setv4si_0 (gen_lowpart (V4SImode, operands[0]),
				CONST0_RTX (V4SImode),
				gen_lowpart (SImode, operands[1])));
  emit_insn (gen_avx2_pbroadcastv4si (operands[0],
					gen_lowpart (V4SImode,
						     operands[0])));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25344 */
extern rtx_insn *gen_split_2683 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2683 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2683 (sse.md:25344)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25357 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vec_setv4si_0 (gen_lowpart (V4SImode, operands[0]),
				CONST0_RTX (V4SImode),
				gen_lowpart (SImode, operands[1])));
  emit_insn (gen_avx2_pbroadcastv16hf (operands[0],
					gen_lowpart (V8HFmode,
						     operands[0])));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25344 */
extern rtx_insn *gen_split_2684 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2684 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2684 (sse.md:25344)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25357 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vec_setv4si_0 (gen_lowpart (V4SImode, operands[0]),
				CONST0_RTX (V4SImode),
				gen_lowpart (SImode, operands[1])));
  emit_insn (gen_avx2_pbroadcastv8hf (operands[0],
					gen_lowpart (V8HFmode,
						     operands[0])));
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25367 */
extern rtx_insn *gen_split_2685 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2685 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2685 (sse.md:25367)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25376 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = gen_lowpart (V4SImode, operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_VEC_DUPLICATE (V4SImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8SImode,
	copy_rtx (operand2),
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25367 */
extern rtx_insn *gen_split_2686 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2686 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2686 (sse.md:25367)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25376 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = gen_lowpart (V4SFmode, operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_VEC_DUPLICATE (V4SFmode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8SFmode,
	copy_rtx (operand2),
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25367 */
extern rtx_insn *gen_split_2687 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2687 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2687 (sse.md:25367)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25376 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = gen_lowpart (V2DImode, operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_VEC_DUPLICATE (V2DImode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4DImode,
	copy_rtx (operand2),
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25367 */
extern rtx_insn *gen_split_2688 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2688 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2688 (sse.md:25367)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25376 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = gen_lowpart (V2DFmode, operands[0]);
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  emit_insn (gen_rtx_SET (operand2,
	gen_rtx_VEC_DUPLICATE (V2DFmode,
	operand1)));
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4DFmode,
	copy_rtx (operand2),
	copy_rtx (operand2))));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25523 */
rtx
gen_avx512f_vpermi2varv16si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = force_reg (V16SImode, operands[2]);
  operands[5] = gen_lowpart (V16SImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	141),
	operand5,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25523 */
rtx
gen_avx512f_vpermi2varv16sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = force_reg (V16SImode, operands[2]);
  operands[5] = gen_lowpart (V16SFmode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	141),
	operand5,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25523 */
rtx
gen_avx512f_vpermi2varv8di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = force_reg (V8DImode, operands[2]);
  operands[5] = gen_lowpart (V8DImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	141),
	operand5,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25523 */
rtx
gen_avx512f_vpermi2varv8df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = force_reg (V8DImode, operands[2]);
  operands[5] = gen_lowpart (V8DFmode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	141),
	operand5,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25523 */
rtx
gen_avx512vl_vpermi2varv8si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = force_reg (V8SImode, operands[2]);
  operands[5] = gen_lowpart (V8SImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	141),
	operand5,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25523 */
rtx
gen_avx512vl_vpermi2varv8sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = force_reg (V8SImode, operands[2]);
  operands[5] = gen_lowpart (V8SFmode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	141),
	operand5,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25523 */
rtx
gen_avx512vl_vpermi2varv4di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = force_reg (V4DImode, operands[2]);
  operands[5] = gen_lowpart (V4DImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	141),
	operand5,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25523 */
rtx
gen_avx512vl_vpermi2varv4df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = force_reg (V4DImode, operands[2]);
  operands[5] = gen_lowpart (V4DFmode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	141),
	operand5,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25523 */
rtx
gen_avx512vl_vpermi2varv4si3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = force_reg (V4SImode, operands[2]);
  operands[5] = gen_lowpart (V4SImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	141),
	operand5,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25523 */
rtx
gen_avx512vl_vpermi2varv4sf3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = force_reg (V4SImode, operands[2]);
  operands[5] = gen_lowpart (V4SFmode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	141),
	operand5,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25523 */
rtx
gen_avx512vl_vpermi2varv2di3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = force_reg (V2DImode, operands[2]);
  operands[5] = gen_lowpart (V2DImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	141),
	operand5,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25523 */
rtx
gen_avx512vl_vpermi2varv2df3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = force_reg (V2DImode, operands[2]);
  operands[5] = gen_lowpart (V2DFmode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	141),
	operand5,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25523 */
rtx
gen_avx512bw_vpermi2varv32hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = force_reg (V32HImode, operands[2]);
  operands[5] = gen_lowpart (V32HImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	141),
	operand5,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25523 */
rtx
gen_avx512vl_vpermi2varv16hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = force_reg (V16HImode, operands[2]);
  operands[5] = gen_lowpart (V16HImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	141),
	operand5,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25523 */
rtx
gen_avx512vl_vpermi2varv8hi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = force_reg (V8HImode, operands[2]);
  operands[5] = gen_lowpart (V8HImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	141),
	operand5,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25523 */
rtx
gen_avx512bw_vpermi2varv64qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = force_reg (V64QImode, operands[2]);
  operands[5] = gen_lowpart (V64QImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	141),
	operand5,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25523 */
rtx
gen_avx512vl_vpermi2varv32qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = force_reg (V32QImode, operands[2]);
  operands[5] = gen_lowpart (V32QImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	141),
	operand5,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25523 */
rtx
gen_avx512vl_vpermi2varv16qi3_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25534 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[2] = force_reg (V16QImode, operands[2]);
  operands[5] = gen_lowpart (V16QImode, operands[2]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand3),
	141),
	operand5,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25571 */
rtx
gen_avx512f_vpermt2varv16si3_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25578 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_vpermt2varv16si3_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	CONST0_RTX (V16SImode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25571 */
rtx
gen_avx512f_vpermt2varv16sf3_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25578 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_vpermt2varv16sf3_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	CONST0_RTX (V16SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25571 */
rtx
gen_avx512f_vpermt2varv8di3_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25578 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_vpermt2varv8di3_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	CONST0_RTX (V8DImode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25571 */
rtx
gen_avx512f_vpermt2varv8df3_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25578 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_vpermt2varv8df3_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	CONST0_RTX (V8DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25571 */
rtx
gen_avx512vl_vpermt2varv8si3_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25578 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_vpermt2varv8si3_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	CONST0_RTX (V8SImode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25571 */
rtx
gen_avx512vl_vpermt2varv8sf3_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25578 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_vpermt2varv8sf3_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	CONST0_RTX (V8SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25571 */
rtx
gen_avx512vl_vpermt2varv4di3_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25578 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_vpermt2varv4di3_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	CONST0_RTX (V4DImode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25571 */
rtx
gen_avx512vl_vpermt2varv4df3_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25578 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_vpermt2varv4df3_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	CONST0_RTX (V4DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25571 */
rtx
gen_avx512vl_vpermt2varv4si3_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25578 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_vpermt2varv4si3_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	CONST0_RTX (V4SImode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25571 */
rtx
gen_avx512vl_vpermt2varv4sf3_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25578 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_vpermt2varv4sf3_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	CONST0_RTX (V4SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25571 */
rtx
gen_avx512vl_vpermt2varv2di3_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25578 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_vpermt2varv2di3_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	CONST0_RTX (V2DImode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25571 */
rtx
gen_avx512vl_vpermt2varv2df3_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25578 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_vpermt2varv2df3_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	CONST0_RTX (V2DFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25571 */
rtx
gen_avx512bw_vpermt2varv32hi3_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25578 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512bw_vpermt2varv32hi3_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	CONST0_RTX (V32HImode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25571 */
rtx
gen_avx512vl_vpermt2varv16hi3_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25578 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_vpermt2varv16hi3_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	CONST0_RTX (V16HImode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25571 */
rtx
gen_avx512vl_vpermt2varv8hi3_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25578 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_vpermt2varv8hi3_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	CONST0_RTX (V8HImode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25571 */
rtx
gen_avx512bw_vpermt2varv64qi3_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25578 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512bw_vpermt2varv64qi3_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	CONST0_RTX (V64QImode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25571 */
rtx
gen_avx512vl_vpermt2varv32qi3_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25578 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_vpermt2varv32qi3_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	CONST0_RTX (V32QImode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25571 */
rtx
gen_avx512vl_vpermt2varv16qi3_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25578 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512vl_vpermt2varv16qi3_maskz_1 (
	operands[0], operands[1], operands[2], operands[3],
	CONST0_RTX (V16QImode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25616 */
rtx
gen_avx_vperm2f128v8si3 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25624 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  if ((mask & 0x88) == 0)
    {
      rtx perm[8], t1, t2;
      int i, base, nelt = 8, nelt2 = nelt / 2;

      base = (mask & 3) * nelt2;
      for (i = 0; i < nelt2; ++i)
	perm[i] = GEN_INT (base + i);

      base = ((mask >> 4) & 3) * nelt2;
      for (i = 0; i < nelt2; ++i)
	perm[i + nelt2] = GEN_INT (base + i);

      t2 = gen_rtx_VEC_CONCAT (V16SImode,
			       operands[1], operands[2]);
      t1 = gen_rtx_PARALLEL (VOIDmode, gen_rtvec_v (nelt, perm));
      t2 = gen_rtx_VEC_SELECT (V8SImode, t2, t1);
      t2 = gen_rtx_SET (operands[0], t2);
      emit_insn (t2);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	132)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25616 */
rtx
gen_avx_vperm2f128v8sf3 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25624 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  if ((mask & 0x88) == 0)
    {
      rtx perm[8], t1, t2;
      int i, base, nelt = 8, nelt2 = nelt / 2;

      base = (mask & 3) * nelt2;
      for (i = 0; i < nelt2; ++i)
	perm[i] = GEN_INT (base + i);

      base = ((mask >> 4) & 3) * nelt2;
      for (i = 0; i < nelt2; ++i)
	perm[i + nelt2] = GEN_INT (base + i);

      t2 = gen_rtx_VEC_CONCAT (V16SFmode,
			       operands[1], operands[2]);
      t1 = gen_rtx_PARALLEL (VOIDmode, gen_rtvec_v (nelt, perm));
      t2 = gen_rtx_VEC_SELECT (V8SFmode, t2, t1);
      t2 = gen_rtx_SET (operands[0], t2);
      emit_insn (t2);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	132)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25616 */
rtx
gen_avx_vperm2f128v4df3 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25624 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  int mask = INTVAL (operands[3]);
  if ((mask & 0x88) == 0)
    {
      rtx perm[4], t1, t2;
      int i, base, nelt = 4, nelt2 = nelt / 2;

      base = (mask & 3) * nelt2;
      for (i = 0; i < nelt2; ++i)
	perm[i] = GEN_INT (base + i);

      base = ((mask >> 4) & 3) * nelt2;
      for (i = 0; i < nelt2; ++i)
	perm[i + nelt2] = GEN_INT (base + i);

      t2 = gen_rtx_VEC_CONCAT (V8DFmode,
			       operands[1], operands[2]);
      t1 = gen_rtx_PARALLEL (VOIDmode, gen_rtvec_v (nelt, perm));
      t2 = gen_rtx_VEC_SELECT (V4DFmode, t2, t1);
      t2 = gen_rtx_SET (operands[0], t2);
      emit_insn (t2);
      DONE;
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	132)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25722 */
rtx
gen_avx512vl_vinsertv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25730 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx, rtx, rtx, rtx);

  switch (INTVAL (operands[3]))
    {
    case 0:
      insn = gen_vec_set_lo_v8si_mask;
      break;
    case 1:
      insn = gen_vec_set_hi_v8si_mask;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (operands[0], operands[1], operands[2], operands[4],
		   operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25722 */
rtx
gen_avx512vl_vinsertv8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25730 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx, rtx, rtx, rtx);

  switch (INTVAL (operands[3]))
    {
    case 0:
      insn = gen_vec_set_lo_v8sf_mask;
      break;
    case 1:
      insn = gen_vec_set_hi_v8sf_mask;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (operands[0], operands[1], operands[2], operands[4],
		   operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25722 */
rtx
gen_avx512vl_vinsertv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25730 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx, rtx, rtx, rtx);

  switch (INTVAL (operands[3]))
    {
    case 0:
      insn = gen_vec_set_lo_v4di_mask;
      break;
    case 1:
      insn = gen_vec_set_hi_v4di_mask;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (operands[0], operands[1], operands[2], operands[4],
		   operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25722 */
rtx
gen_avx512vl_vinsertv4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25730 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx, rtx, rtx, rtx);

  switch (INTVAL (operands[3]))
    {
    case 0:
      insn = gen_vec_set_lo_v4df_mask;
      break;
    case 1:
      insn = gen_vec_set_hi_v4df_mask;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (operands[0], operands[1], operands[2], operands[4],
		   operands[5]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25750 */
rtx
gen_avx_vinsertf128v32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25756 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx, rtx);

  switch (INTVAL (operands[3]))
    {
    case 0:
      insn = gen_vec_set_lo_v32qi;
      break;
    case 1:
      insn = gen_vec_set_hi_v32qi;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (operands[0], operands[1], operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25750 */
rtx
gen_avx_vinsertf128v16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25756 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx, rtx);

  switch (INTVAL (operands[3]))
    {
    case 0:
      insn = gen_vec_set_lo_v16hi;
      break;
    case 1:
      insn = gen_vec_set_hi_v16hi;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (operands[0], operands[1], operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25750 */
rtx
gen_avx_vinsertf128v8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25756 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx, rtx);

  switch (INTVAL (operands[3]))
    {
    case 0:
      insn = gen_vec_set_lo_v8si;
      break;
    case 1:
      insn = gen_vec_set_hi_v8si;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (operands[0], operands[1], operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25750 */
rtx
gen_avx_vinsertf128v4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25756 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx, rtx);

  switch (INTVAL (operands[3]))
    {
    case 0:
      insn = gen_vec_set_lo_v4di;
      break;
    case 1:
      insn = gen_vec_set_hi_v4di;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (operands[0], operands[1], operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25750 */
rtx
gen_avx_vinsertf128v8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25756 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx, rtx);

  switch (INTVAL (operands[3]))
    {
    case 0:
      insn = gen_vec_set_lo_v8sf;
      break;
    case 1:
      insn = gen_vec_set_hi_v8sf;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (operands[0], operands[1], operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25750 */
rtx
gen_avx_vinsertf128v4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 25756 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx (*insn)(rtx, rtx, rtx);

  switch (INTVAL (operands[3]))
    {
    case 0:
      insn = gen_vec_set_lo_v4df;
      break;
    case 1:
      insn = gen_vec_set_hi_v4df;
      break;
    default:
      gcc_unreachable ();
    }

  emit_insn (insn (operands[0], operands[1], operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25978 */
rtx
gen_maskloadv4sfv4si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand2,
		operand1),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25978 */
rtx
gen_maskloadv2dfv2di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand2,
		operand1),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25978 */
rtx
gen_maskloadv8sfv8si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand2,
		operand1),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25978 */
rtx
gen_maskloadv4dfv4di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand2,
		operand1),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25978 */
rtx
gen_maskloadv4siv4si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (2,
		operand2,
		operand1),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25978 */
rtx
gen_maskloadv2div2di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (2,
		operand2,
		operand1),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25978 */
rtx
gen_maskloadv8siv8si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		operand2,
		operand1),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25978 */
rtx
gen_maskloadv4div4di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (2,
		operand2,
		operand1),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25986 */
rtx
gen_maskloadv16sihi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (1,
		operand1),
	161),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25986 */
rtx
gen_maskloadv8siqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (1,
		operand1),
	161),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25986 */
rtx
gen_maskloadv4siqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (1,
		operand1),
	161),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25986 */
rtx
gen_maskloadv8diqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (1,
		operand1),
	161),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25986 */
rtx
gen_maskloadv4diqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (1,
		operand1),
	161),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25986 */
rtx
gen_maskloadv2diqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (1,
		operand1),
	161),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25986 */
rtx
gen_maskloadv16sfhi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SFmode,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (1,
		operand1),
	161),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25986 */
rtx
gen_maskloadv8sfqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SFmode,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (1,
		operand1),
	161),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25986 */
rtx
gen_maskloadv4sfqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SFmode,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (1,
		operand1),
	161),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25986 */
rtx
gen_maskloadv8dfqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DFmode,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (1,
		operand1),
	161),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25986 */
rtx
gen_maskloadv4dfqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DFmode,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (1,
		operand1),
	161),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25986 */
rtx
gen_maskloadv2dfqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DFmode,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (1,
		operand1),
	161),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25996 */
rtx
gen_maskloadv64qidi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V64QImode,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (1,
		operand1),
	161),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25996 */
rtx
gen_maskloadv16qihi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16QImode,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (1,
		operand1),
	161),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25996 */
rtx
gen_maskloadv32qisi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32QImode,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (1,
		operand1),
	161),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25996 */
rtx
gen_maskloadv32hisi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (1,
		operand1),
	161),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25996 */
rtx
gen_maskloadv16hihi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (1,
		operand1),
	161),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25996 */
rtx
gen_maskloadv8hiqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (1,
		operand1),
	161),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25996 */
rtx
gen_maskloadv32hfsi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HFmode,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (1,
		operand1),
	161),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25996 */
rtx
gen_maskloadv16hfhi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HFmode,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (1,
		operand1),
	161),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:25996 */
rtx
gen_maskloadv8hfqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HFmode,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (1,
		operand1),
	161),
	operand0,
	operand2));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26006 */
rtx
gen_maskstorev4sfv4si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand0),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26006 */
rtx
gen_maskstorev2dfv2di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand0),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26006 */
rtx
gen_maskstorev8sfv8si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand0),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26006 */
rtx
gen_maskstorev4dfv4di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand0),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26006 */
rtx
gen_maskstorev4siv4si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand0),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26006 */
rtx
gen_maskstorev2div2di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand0),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26006 */
rtx
gen_maskstorev8siv8si (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand0),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26006 */
rtx
gen_maskstorev4div4di (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand2,
		operand1,
		operand0),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26015 */
rtx
gen_maskstorev16sihi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26015 */
rtx
gen_maskstorev8siqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26015 */
rtx
gen_maskstorev4siqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26015 */
rtx
gen_maskstorev8diqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26015 */
rtx
gen_maskstorev4diqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26015 */
rtx
gen_maskstorev2diqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26015 */
rtx
gen_maskstorev16sfhi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26015 */
rtx
gen_maskstorev8sfqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26015 */
rtx
gen_maskstorev4sfqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26015 */
rtx
gen_maskstorev8dfqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26015 */
rtx
gen_maskstorev4dfqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26015 */
rtx
gen_maskstorev2dfqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26024 */
rtx
gen_maskstorev64qidi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26024 */
rtx
gen_maskstorev16qihi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26024 */
rtx
gen_maskstorev32qisi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26024 */
rtx
gen_maskstorev32hisi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26024 */
rtx
gen_maskstorev16hihi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26024 */
rtx
gen_maskstorev8hiqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26024 */
rtx
gen_maskstorev32hfsi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26024 */
rtx
gen_maskstorev16hfhi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26024 */
rtx
gen_maskstorev8hfqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  return gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HFmode,
	gen_rtvec (3,
		operand1,
		operand0,
		operand2),
	42));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26076 */
rtx
gen_cbranchv4si4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26086 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_branch (GET_CODE (operands[0]),
		      operands[1], operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand0), VOIDmode,
		gen_rtx_REG (CCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26076 */
rtx
gen_cbranchv2di4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26086 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_branch (GET_CODE (operands[0]),
		      operands[1], operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand0), VOIDmode,
		gen_rtx_REG (CCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26076 */
rtx
gen_cbranchv8si4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26086 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_branch (GET_CODE (operands[0]),
		      operands[1], operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand0), VOIDmode,
		gen_rtx_REG (CCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26076 */
rtx
gen_cbranchv4di4 (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26086 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_branch (GET_CODE (operands[0]),
		      operands[1], operands[2], operands[3]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (gen_rtx_REG (CCmode,
	17),
	gen_rtx_COMPARE (CCmode,
	operand1,
	operand2)));
  emit_jump_insn (gen_rtx_SET (pc_rtx,
	gen_rtx_IF_THEN_ELSE (VOIDmode,
	gen_rtx_fmt_ee (GET_CODE (operand0), VOIDmode,
		gen_rtx_REG (CCmode,
	17),
		const0_rtx),
	gen_rtx_LABEL_REF (VOIDmode,
	operand3),
	pc_rtx)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26093 */
extern rtx_insn *gen_split_2689 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2689 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2689 (sse.md:26093)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26102 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (REG_P (operands[0]))
    operands[0] = gen_lowpart (V4SImode, operands[0]);
  else
    operands[1] = lowpart_subreg (V8SImode, operands[1],
				  V4SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26093 */
extern rtx_insn *gen_split_2690 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2690 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2690 (sse.md:26093)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26102 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (REG_P (operands[0]))
    operands[0] = gen_lowpart (V4SFmode, operands[0]);
  else
    operands[1] = lowpart_subreg (V8SFmode, operands[1],
				  V4SFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26093 */
extern rtx_insn *gen_split_2691 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2691 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2691 (sse.md:26093)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26102 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (REG_P (operands[0]))
    operands[0] = gen_lowpart (V2DFmode, operands[0]);
  else
    operands[1] = lowpart_subreg (V4DFmode, operands[1],
				  V2DFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv64qiqi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv32qiqi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv16qiqi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv32hihi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv16hihi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv8hihi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv16sisi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv8sisi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv4sisi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv8didi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv4didi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv2didi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv32hfhf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv16hfhf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv8hfhf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv16sfsf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv8sfsf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv4sfsf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv8dfdf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv4dfdf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv2dfdf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv4titi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26133 */
rtx
gen_vec_initv2titi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26137 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26142 */
rtx
gen_vec_initv64qiv32qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26142 */
rtx
gen_vec_initv32qiv16qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26142 */
rtx
gen_vec_initv16qiv8qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26142 */
rtx
gen_vec_initv32hiv16hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26142 */
rtx
gen_vec_initv16hiv8hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26142 */
rtx
gen_vec_initv8hiv4hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26142 */
rtx
gen_vec_initv16siv8si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26142 */
rtx
gen_vec_initv8siv4si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26142 */
rtx
gen_vec_initv4siv2si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26142 */
rtx
gen_vec_initv8div4di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26142 */
rtx
gen_vec_initv4div2di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26142 */
rtx
gen_vec_initv32hfv16hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26142 */
rtx
gen_vec_initv16hfv8hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26142 */
rtx
gen_vec_initv8hfv4hf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26142 */
rtx
gen_vec_initv16sfv8sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26142 */
rtx
gen_vec_initv8sfv4sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26142 */
rtx
gen_vec_initv4sfv2sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26142 */
rtx
gen_vec_initv8dfv4df (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26142 */
rtx
gen_vec_initv4dfv2df (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26142 */
rtx
gen_vec_initv4tiv2ti (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26146 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_init (false, operands[0], operands[1]);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit (operand0, true);
  emit (operand1, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_ashlv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_ashlv32hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], HImode);
      emit_insn (gen_ashlv32hi3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx512bw_ashlvv32hi_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_ASHIFT (V32HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_lshrv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], HImode);
      emit_insn (gen_lshrv32hi3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx512bw_lshrvv32hi_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_LSHIFTRT (V32HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_ashrv32hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], HImode);
      emit_insn (gen_ashrv32hi3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx512bw_ashrvv32hi_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V32HImode,
	gen_rtx_ASHIFTRT (V32HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_ashlv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_ashlv16hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], HImode);
      emit_insn (gen_ashlv16hi3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx512vl_ashlvv16hi_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_ASHIFT (V16HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_lshrv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], HImode);
      emit_insn (gen_lshrv16hi3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx512vl_lshrvv16hi_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_LSHIFTRT (V16HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_ashrv16hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], HImode);
      emit_insn (gen_ashrv16hi3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx512vl_ashrvv16hi_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16HImode,
	gen_rtx_ASHIFTRT (V16HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_ashlv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_ashlv8hi cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], HImode);
      emit_insn (gen_ashlv8hi3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx512vl_ashlvv8hi_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_ASHIFT (V8HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_lshrv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], HImode);
      emit_insn (gen_lshrv8hi3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx512vl_lshrvv8hi_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_LSHIFTRT (V8HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_ashrv8hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], HImode);
      emit_insn (gen_ashrv8hi3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx512vl_ashrvv8hi_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_ASHIFTRT (V8HImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_ashlv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_ashlv16si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], SImode);
      emit_insn (gen_ashlv16si3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx512f_ashlvv16si_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_ASHIFT (V16SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_lshrv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], SImode);
      emit_insn (gen_lshrv16si3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx512f_lshrvv16si_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_LSHIFTRT (V16SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_ashrv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], SImode);
      emit_insn (gen_ashrv16si3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx512f_ashrvv16si_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V16SImode,
	gen_rtx_ASHIFTRT (V16SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_ashlv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_ashlv8si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], SImode);
      emit_insn (gen_ashlv8si3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx2_ashlvv8si_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_ASHIFT (V8SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_lshrv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], SImode);
      emit_insn (gen_lshrv8si3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx2_lshrvv8si_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_LSHIFTRT (V8SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_ashrv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], SImode);
      emit_insn (gen_ashrv8si3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx2_ashrvv8si_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8SImode,
	gen_rtx_ASHIFTRT (V8SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_ashlv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_ashlv4si cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], SImode);
      emit_insn (gen_ashlv4si3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx2_ashlvv4si_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_ASHIFT (V4SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_lshrv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], SImode);
      emit_insn (gen_lshrv4si3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx2_lshrvv4si_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_LSHIFTRT (V4SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_ashrv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], SImode);
      emit_insn (gen_ashrv4si3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx2_ashrvv4si_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4SImode,
	gen_rtx_ASHIFTRT (V4SImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_ashlv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_ashlv8di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], DImode);
      emit_insn (gen_ashlv8di3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx512f_ashlvv8di_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_ASHIFT (V8DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_lshrv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], DImode);
      emit_insn (gen_lshrv8di3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx512f_lshrvv8di_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_LSHIFTRT (V8DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_ashrv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], DImode);
      emit_insn (gen_ashrv8di3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx512f_ashrvv8di_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8DImode,
	gen_rtx_ASHIFTRT (V8DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_ashlv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_ashlv4di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], DImode);
      emit_insn (gen_ashlv4di3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx2_ashlvv4di_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_ASHIFT (V4DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_lshrv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], DImode);
      emit_insn (gen_lshrv4di3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx2_lshrvv4di_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_LSHIFTRT (V4DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_ashrv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], DImode);
      emit_insn (gen_ashrv4di3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx2_ashrvv4di_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V4DImode,
	gen_rtx_ASHIFTRT (V4DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_ashlv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL _Pragma ("GCC error \"cond_ashlv2di cannot FAIL\"") (void)0
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], DImode);
      emit_insn (gen_ashlv2di3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx2_ashlvv2di_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_ASHIFT (V2DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_lshrv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], DImode);
      emit_insn (gen_lshrv2di3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx2_lshrvv2di_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_LSHIFTRT (V2DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26151 */
rtx
gen_cond_ashrv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26160 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (const_vec_duplicate_p (operands[3]))
    {
      operands[3] = unwrap_const_vec_duplicate (operands[3]);
      operands[3] = lowpart_subreg (DImode, operands[3], DImode);
      emit_insn (gen_ashrv2di3_mask (operands[0],
					 operands[2],
					 operands[3],
					 operands[4],
					 operands[1]));
    }
  else
    emit_insn (gen_avx2_ashrvv2di_mask (operands[0],
						     operands[2],
						     operands[3],
						     operands[4],
						     operands[1]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V2DImode,
	gen_rtx_ASHIFTRT (V2DImode,
	operand2,
	operand3),
	operand4,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26327 */
extern rtx_insn *gen_split_2692 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2692 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2692 (sse.md:26327)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V32QImode, operands[1]);
  operands[5] = CONST0_RTX (V32QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V64QImode,
	operand1,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26327 */
extern rtx_insn *gen_split_2693 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2693 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2693 (sse.md:26327)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V16QImode, operands[1]);
  operands[5] = CONST0_RTX (V16QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V32QImode,
	operand1,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26327 */
extern rtx_insn *gen_split_2694 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2694 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2694 (sse.md:26327)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V8QImode, operands[1]);
  operands[5] = CONST0_RTX (V8QImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16QImode,
	operand1,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26327 */
extern rtx_insn *gen_split_2695 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2695 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2695 (sse.md:26327)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V16HImode, operands[1]);
  operands[5] = CONST0_RTX (V16HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V32HImode,
	operand1,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26327 */
extern rtx_insn *gen_split_2696 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2696 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2696 (sse.md:26327)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V8HImode, operands[1]);
  operands[5] = CONST0_RTX (V8HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16HImode,
	operand1,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26327 */
extern rtx_insn *gen_split_2697 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2697 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2697 (sse.md:26327)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V4HImode, operands[1]);
  operands[5] = CONST0_RTX (V4HImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	operand1,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26327 */
extern rtx_insn *gen_split_2698 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2698 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2698 (sse.md:26327)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V8SImode, operands[1]);
  operands[5] = CONST0_RTX (V8SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16SImode,
	operand1,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26327 */
extern rtx_insn *gen_split_2699 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2699 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2699 (sse.md:26327)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V4SImode, operands[1]);
  operands[5] = CONST0_RTX (V4SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8SImode,
	operand1,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26327 */
extern rtx_insn *gen_split_2700 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2700 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2700 (sse.md:26327)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V2SImode, operands[1]);
  operands[5] = CONST0_RTX (V2SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SImode,
	operand1,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26327 */
extern rtx_insn *gen_split_2701 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2701 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2701 (sse.md:26327)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V4DImode, operands[1]);
  operands[5] = CONST0_RTX (V4DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8DImode,
	operand1,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26327 */
extern rtx_insn *gen_split_2702 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2702 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2702 (sse.md:26327)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V2DImode, operands[1]);
  operands[5] = CONST0_RTX (V2DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4DImode,
	operand1,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26327 */
extern rtx_insn *gen_split_2703 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2703 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2703 (sse.md:26327)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (DImode, operands[1]);
  operands[5] = CONST0_RTX (DImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V2DImode,
	operand1,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26327 */
extern rtx_insn *gen_split_2704 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2704 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2704 (sse.md:26327)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V16HFmode, operands[1]);
  operands[5] = CONST0_RTX (V16HFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V32HFmode,
	operand1,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26327 */
extern rtx_insn *gen_split_2705 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2705 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2705 (sse.md:26327)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V8HFmode, operands[1]);
  operands[5] = CONST0_RTX (V8HFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16HFmode,
	operand1,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26327 */
extern rtx_insn *gen_split_2706 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2706 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2706 (sse.md:26327)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V4HFmode, operands[1]);
  operands[5] = CONST0_RTX (V4HFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HFmode,
	operand1,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26327 */
extern rtx_insn *gen_split_2707 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2707 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2707 (sse.md:26327)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V8SFmode, operands[1]);
  operands[5] = CONST0_RTX (V8SFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V16SFmode,
	operand1,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26327 */
extern rtx_insn *gen_split_2708 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2708 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2708 (sse.md:26327)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V4SFmode, operands[1]);
  operands[5] = CONST0_RTX (V4SFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8SFmode,
	operand1,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26327 */
extern rtx_insn *gen_split_2709 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2709 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2709 (sse.md:26327)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V2SFmode, operands[1]);
  operands[5] = CONST0_RTX (V2SFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4SFmode,
	operand1,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26327 */
extern rtx_insn *gen_split_2710 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2710 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2710 (sse.md:26327)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V4DFmode, operands[1]);
  operands[5] = CONST0_RTX (V4DFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8DFmode,
	operand1,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26327 */
extern rtx_insn *gen_split_2711 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2711 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2711 (sse.md:26327)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (V2DFmode, operands[1]);
  operands[5] = CONST0_RTX (V2DFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V4DFmode,
	operand1,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26327 */
extern rtx_insn *gen_split_2712 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2712 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2712 (sse.md:26327)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = gen_lowpart (DFmode, operands[1]);
  operands[5] = CONST0_RTX (DFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V2DFmode,
	operand1,
	operand5)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26390 */
rtx
gen_vcvtps2ph_mask (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[6];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26401 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[5] = CONST0_RTX (V4HImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_MERGE (V8HImode,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_UNSPEC (V4HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	136),
	operand5),
	operand3,
	operand4)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26403 */
rtx
gen_vcvtps2ph (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx operand3;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26411 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[3] = CONST0_RTX (V4HImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_CONCAT (V8HImode,
	gen_rtx_UNSPEC (V4HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	136),
	operand3)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26506 */
rtx
gen_avx2_gathersiv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26521 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand1,
		gen_rtx_MEM (DImode,
	operand6),
		gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)),
		operand4),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V2DImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26506 */
rtx
gen_avx2_gathersiv2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26521 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand1,
		gen_rtx_MEM (DFmode,
	operand6),
		gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)),
		operand4),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V2DFmode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26506 */
rtx
gen_avx2_gathersiv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26521 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand1,
		gen_rtx_MEM (DImode,
	operand6),
		gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)),
		operand4),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4DImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26506 */
rtx
gen_avx2_gathersiv4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26521 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand1,
		gen_rtx_MEM (DFmode,
	operand6),
		gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)),
		operand4),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4DFmode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26506 */
rtx
gen_avx2_gathersiv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26521 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand1,
		gen_rtx_MEM (SImode,
	operand6),
		gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)),
		operand4),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4SImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26506 */
rtx
gen_avx2_gathersiv4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26521 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand1,
		gen_rtx_MEM (SFmode,
	operand6),
		gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)),
		operand4),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4SFmode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26506 */
rtx
gen_avx2_gathersiv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26521 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand1,
		gen_rtx_MEM (SImode,
	operand6),
		gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)),
		operand4),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V8SImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26506 */
rtx
gen_avx2_gathersiv8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26521 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand1,
		gen_rtx_MEM (SFmode,
	operand6),
		gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)),
		operand4),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V8SFmode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26567 */
rtx
gen_avx2_gatherdiv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26582 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (4,
		operand1,
		gen_rtx_MEM (DImode,
	operand6),
		gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)),
		operand4),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V2DImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26567 */
rtx
gen_avx2_gatherdiv2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26582 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (4,
		operand1,
		gen_rtx_MEM (DFmode,
	operand6),
		gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)),
		operand4),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V2DFmode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26567 */
rtx
gen_avx2_gatherdiv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26582 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (4,
		operand1,
		gen_rtx_MEM (DImode,
	operand6),
		gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)),
		operand4),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4DImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26567 */
rtx
gen_avx2_gatherdiv4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26582 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (4,
		operand1,
		gen_rtx_MEM (DFmode,
	operand6),
		gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)),
		operand4),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4DFmode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26567 */
rtx
gen_avx2_gatherdiv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26582 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (4,
		operand1,
		gen_rtx_MEM (SImode,
	operand6),
		gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)),
		operand4),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4SImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26567 */
rtx
gen_avx2_gatherdiv4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26582 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (4,
		operand1,
		gen_rtx_MEM (SFmode,
	operand6),
		gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)),
		operand4),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4SFmode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26567 */
rtx
gen_avx2_gatherdiv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26582 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (4,
		operand1,
		gen_rtx_MEM (SImode,
	operand6),
		gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)),
		operand4),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V8SImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26567 */
rtx
gen_avx2_gatherdiv8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26582 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (4,
		operand1,
		gen_rtx_MEM (SFmode,
	operand6),
		gen_rtx_MEM (BLKmode,
	gen_rtx_SCRATCH (VOIDmode)),
		operand4),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V8SFmode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26678 */
rtx
gen_avx512f_gathersiv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26691 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (SImode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (HImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26678 */
rtx
gen_avx512f_gathersiv16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26691 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (SFmode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (HImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26678 */
rtx
gen_avx512f_gathersiv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26691 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (DImode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26678 */
rtx
gen_avx512f_gathersiv8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26691 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (DFmode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26678 */
rtx
gen_avx512vl_gathersiv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26691 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (SImode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26678 */
rtx
gen_avx512vl_gathersiv8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26691 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (SFmode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26678 */
rtx
gen_avx512vl_gathersiv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26691 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (DImode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26678 */
rtx
gen_avx512vl_gathersiv4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26691 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (DFmode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26678 */
rtx
gen_avx512vl_gathersiv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26691 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (SImode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26678 */
rtx
gen_avx512vl_gathersiv4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26691 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (SFmode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26678 */
rtx
gen_avx512vl_gathersiv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26691 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (DImode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26678 */
rtx
gen_avx512vl_gathersiv2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26691 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (DFmode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26740 */
rtx
gen_avx512f_gatherdiv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26753 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (SImode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26740 */
rtx
gen_avx512f_gatherdiv16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26753 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (SFmode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26740 */
rtx
gen_avx512f_gatherdiv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26753 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (DImode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26740 */
rtx
gen_avx512f_gatherdiv8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26753 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (DFmode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26740 */
rtx
gen_avx512vl_gatherdiv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26753 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (SImode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26740 */
rtx
gen_avx512vl_gatherdiv8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26753 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (SFmode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26740 */
rtx
gen_avx512vl_gatherdiv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26753 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (DImode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26740 */
rtx
gen_avx512vl_gatherdiv4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26753 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (DFmode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26740 */
rtx
gen_avx512vl_gatherdiv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26753 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (SImode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26740 */
rtx
gen_avx512vl_gatherdiv4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26753 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (SFmode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26740 */
rtx
gen_avx512vl_gatherdiv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26753 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (DImode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26740 */
rtx
gen_avx512vl_gatherdiv2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5)
{
  rtx operand6;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26753 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[6]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (3, operands[2], operands[3],
					operands[5]), UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand4,
		gen_rtx_MEM (DFmode,
	operand6)),
	139)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26810 */
rtx
gen_avx512f_scattersiv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26822 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V16SImode,
	operand5),
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (HImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26810 */
rtx
gen_avx512f_scattersiv16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26822 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V16SFmode,
	operand5),
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (HImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26810 */
rtx
gen_avx512f_scattersiv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26822 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V8DImode,
	operand5),
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26810 */
rtx
gen_avx512f_scattersiv8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26822 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V8DFmode,
	operand5),
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26810 */
rtx
gen_avx512vl_scattersiv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26822 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V8SImode,
	operand5),
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26810 */
rtx
gen_avx512vl_scattersiv8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26822 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V8SFmode,
	operand5),
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26810 */
rtx
gen_avx512vl_scattersiv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26822 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V4DImode,
	operand5),
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26810 */
rtx
gen_avx512vl_scattersiv4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26822 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V4DFmode,
	operand5),
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26810 */
rtx
gen_avx512vl_scattersiv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26822 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V4SImode,
	operand5),
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26810 */
rtx
gen_avx512vl_scattersiv4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26822 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V4SFmode,
	operand5),
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26810 */
rtx
gen_avx512vl_scattersiv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26822 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V2DImode,
	operand5),
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26810 */
rtx
gen_avx512vl_scattersiv2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26822 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V2DFmode,
	operand5),
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26850 */
rtx
gen_avx512f_scatterdiv16si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26862 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V16SImode,
	operand5),
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26850 */
rtx
gen_avx512f_scatterdiv16sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26862 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V16SFmode,
	operand5),
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26850 */
rtx
gen_avx512f_scatterdiv8di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26862 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V8DImode,
	operand5),
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26850 */
rtx
gen_avx512f_scatterdiv8df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26862 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V8DFmode,
	operand5),
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26850 */
rtx
gen_avx512vl_scatterdiv8si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26862 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V8SImode,
	operand5),
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26850 */
rtx
gen_avx512vl_scatterdiv8sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26862 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V8SFmode,
	operand5),
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26850 */
rtx
gen_avx512vl_scatterdiv4di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26862 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V4DImode,
	operand5),
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26850 */
rtx
gen_avx512vl_scatterdiv4df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26862 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V4DFmode,
	operand5),
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26850 */
rtx
gen_avx512vl_scatterdiv4si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26862 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V4SImode,
	operand5),
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26850 */
rtx
gen_avx512vl_scatterdiv4sf (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26862 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V4SFmode,
	operand5),
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26850 */
rtx
gen_avx512vl_scatterdiv2di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26862 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V2DImode,
	operand5),
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26850 */
rtx
gen_avx512vl_scatterdiv2df (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx operand5;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[7];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26862 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[5]
    = gen_rtx_UNSPEC (Pmode, gen_rtvec (4, operands[0], operands[2],
					operands[4], operands[1]),
					UNSPEC_VSIBADDR);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
  }
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_MEM (V2DFmode,
	operand5),
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (2,
		operand1,
		operand3),
	146)),
		gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26944 */
rtx
gen_avx512f_expandv16si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26952 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V16SImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26944 */
rtx
gen_avx512f_expandv16sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26952 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V16SFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26944 */
rtx
gen_avx512f_expandv8di_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26952 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V8DImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26944 */
rtx
gen_avx512f_expandv8df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26952 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V8DFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26944 */
rtx
gen_avx512vl_expandv8si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26952 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V8SImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26944 */
rtx
gen_avx512vl_expandv8sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26952 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V8SFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26944 */
rtx
gen_avx512vl_expandv4di_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26952 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V4DImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26944 */
rtx
gen_avx512vl_expandv4df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26952 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V4DFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26944 */
rtx
gen_avx512vl_expandv4si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26952 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V4SImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26944 */
rtx
gen_avx512vl_expandv4sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26952 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V4SFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V4SFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26944 */
rtx
gen_avx512vl_expandv2di_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26952 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V2DImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26944 */
rtx
gen_avx512vl_expandv2df_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26952 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V2DFmode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V2DFmode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26982 */
extern rtx_insn *gen_split_2713 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2713 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2713 (sse.md:26982)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26994 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  unsigned HOST_WIDE_INT mask = INTVAL (operands[3]);
  bool has_zero = false;
  unsigned n = GET_MODE_NUNITS (V16SImode), i;
  unsigned ones = 0;

  /* If all ones bits is in mask's lower part,
     get number of ones and assign it to ONES.  */
  for (i = 0; i != n; i++)
    {
      if ((mask & HOST_WIDE_INT_1U << i) && has_zero)
	break;

      /* Record first zero bit.  */
      if (!(mask & HOST_WIDE_INT_1U << i) && !has_zero)
	{
	  has_zero = true;
	  ones = i;
	}
    }

  if (!has_zero)
    ones = n;

  if (i != n || (ones != 0 && ones != n))
    {
      rtx reg = gen_reg_rtx (HImode);
      emit_move_insn (reg, operands[3]);
      enum insn_code icode;
      if (i == n)
      /* For masks with all one bits in it's lower part,
	 we can transform v{,p}expand* to vmovdq* with
	 mask operand.  */
	icode = CODE_FOR_avx512f_loadv16si_mask;
      else
	icode = CODE_FOR_expandv16si_mask;
      emit_insn (GEN_FCN (icode) (operands[0], operands[1], operands[2], reg));
    }
  else
    /* For ALL_MASK_ONES or CONST0_RTX mask, transform it to simple mov.  */
    emit_move_insn (operands[0], ones ? operands[1] : operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26982 */
extern rtx_insn *gen_split_2714 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2714 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2714 (sse.md:26982)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26994 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  unsigned HOST_WIDE_INT mask = INTVAL (operands[3]);
  bool has_zero = false;
  unsigned n = GET_MODE_NUNITS (V16SFmode), i;
  unsigned ones = 0;

  /* If all ones bits is in mask's lower part,
     get number of ones and assign it to ONES.  */
  for (i = 0; i != n; i++)
    {
      if ((mask & HOST_WIDE_INT_1U << i) && has_zero)
	break;

      /* Record first zero bit.  */
      if (!(mask & HOST_WIDE_INT_1U << i) && !has_zero)
	{
	  has_zero = true;
	  ones = i;
	}
    }

  if (!has_zero)
    ones = n;

  if (i != n || (ones != 0 && ones != n))
    {
      rtx reg = gen_reg_rtx (HImode);
      emit_move_insn (reg, operands[3]);
      enum insn_code icode;
      if (i == n)
      /* For masks with all one bits in it's lower part,
	 we can transform v{,p}expand* to vmovdq* with
	 mask operand.  */
	icode = CODE_FOR_avx512f_loadv16sf_mask;
      else
	icode = CODE_FOR_expandv16sf_mask;
      emit_insn (GEN_FCN (icode) (operands[0], operands[1], operands[2], reg));
    }
  else
    /* For ALL_MASK_ONES or CONST0_RTX mask, transform it to simple mov.  */
    emit_move_insn (operands[0], ones ? operands[1] : operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26982 */
extern rtx_insn *gen_split_2715 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2715 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2715 (sse.md:26982)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26994 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  unsigned HOST_WIDE_INT mask = INTVAL (operands[3]);
  bool has_zero = false;
  unsigned n = GET_MODE_NUNITS (V8DImode), i;
  unsigned ones = 0;

  /* If all ones bits is in mask's lower part,
     get number of ones and assign it to ONES.  */
  for (i = 0; i != n; i++)
    {
      if ((mask & HOST_WIDE_INT_1U << i) && has_zero)
	break;

      /* Record first zero bit.  */
      if (!(mask & HOST_WIDE_INT_1U << i) && !has_zero)
	{
	  has_zero = true;
	  ones = i;
	}
    }

  if (!has_zero)
    ones = n;

  if (i != n || (ones != 0 && ones != n))
    {
      rtx reg = gen_reg_rtx (QImode);
      emit_move_insn (reg, operands[3]);
      enum insn_code icode;
      if (i == n)
      /* For masks with all one bits in it's lower part,
	 we can transform v{,p}expand* to vmovdq* with
	 mask operand.  */
	icode = CODE_FOR_avx512f_loadv8di_mask;
      else
	icode = CODE_FOR_expandv8di_mask;
      emit_insn (GEN_FCN (icode) (operands[0], operands[1], operands[2], reg));
    }
  else
    /* For ALL_MASK_ONES or CONST0_RTX mask, transform it to simple mov.  */
    emit_move_insn (operands[0], ones ? operands[1] : operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26982 */
extern rtx_insn *gen_split_2716 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2716 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2716 (sse.md:26982)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26994 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  unsigned HOST_WIDE_INT mask = INTVAL (operands[3]);
  bool has_zero = false;
  unsigned n = GET_MODE_NUNITS (V8DFmode), i;
  unsigned ones = 0;

  /* If all ones bits is in mask's lower part,
     get number of ones and assign it to ONES.  */
  for (i = 0; i != n; i++)
    {
      if ((mask & HOST_WIDE_INT_1U << i) && has_zero)
	break;

      /* Record first zero bit.  */
      if (!(mask & HOST_WIDE_INT_1U << i) && !has_zero)
	{
	  has_zero = true;
	  ones = i;
	}
    }

  if (!has_zero)
    ones = n;

  if (i != n || (ones != 0 && ones != n))
    {
      rtx reg = gen_reg_rtx (QImode);
      emit_move_insn (reg, operands[3]);
      enum insn_code icode;
      if (i == n)
      /* For masks with all one bits in it's lower part,
	 we can transform v{,p}expand* to vmovdq* with
	 mask operand.  */
	icode = CODE_FOR_avx512f_loadv8df_mask;
      else
	icode = CODE_FOR_expandv8df_mask;
      emit_insn (GEN_FCN (icode) (operands[0], operands[1], operands[2], reg));
    }
  else
    /* For ALL_MASK_ONES or CONST0_RTX mask, transform it to simple mov.  */
    emit_move_insn (operands[0], ones ? operands[1] : operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26982 */
extern rtx_insn *gen_split_2717 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2717 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2717 (sse.md:26982)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26994 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  unsigned HOST_WIDE_INT mask = INTVAL (operands[3]);
  bool has_zero = false;
  unsigned n = GET_MODE_NUNITS (V8SImode), i;
  unsigned ones = 0;

  /* If all ones bits is in mask's lower part,
     get number of ones and assign it to ONES.  */
  for (i = 0; i != n; i++)
    {
      if ((mask & HOST_WIDE_INT_1U << i) && has_zero)
	break;

      /* Record first zero bit.  */
      if (!(mask & HOST_WIDE_INT_1U << i) && !has_zero)
	{
	  has_zero = true;
	  ones = i;
	}
    }

  if (!has_zero)
    ones = n;

  if (i != n || (ones != 0 && ones != n))
    {
      rtx reg = gen_reg_rtx (QImode);
      emit_move_insn (reg, operands[3]);
      enum insn_code icode;
      if (i == n)
      /* For masks with all one bits in it's lower part,
	 we can transform v{,p}expand* to vmovdq* with
	 mask operand.  */
	icode = CODE_FOR_avx512vl_loadv8si_mask;
      else
	icode = CODE_FOR_expandv8si_mask;
      emit_insn (GEN_FCN (icode) (operands[0], operands[1], operands[2], reg));
    }
  else
    /* For ALL_MASK_ONES or CONST0_RTX mask, transform it to simple mov.  */
    emit_move_insn (operands[0], ones ? operands[1] : operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26982 */
extern rtx_insn *gen_split_2718 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2718 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2718 (sse.md:26982)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26994 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  unsigned HOST_WIDE_INT mask = INTVAL (operands[3]);
  bool has_zero = false;
  unsigned n = GET_MODE_NUNITS (V8SFmode), i;
  unsigned ones = 0;

  /* If all ones bits is in mask's lower part,
     get number of ones and assign it to ONES.  */
  for (i = 0; i != n; i++)
    {
      if ((mask & HOST_WIDE_INT_1U << i) && has_zero)
	break;

      /* Record first zero bit.  */
      if (!(mask & HOST_WIDE_INT_1U << i) && !has_zero)
	{
	  has_zero = true;
	  ones = i;
	}
    }

  if (!has_zero)
    ones = n;

  if (i != n || (ones != 0 && ones != n))
    {
      rtx reg = gen_reg_rtx (QImode);
      emit_move_insn (reg, operands[3]);
      enum insn_code icode;
      if (i == n)
      /* For masks with all one bits in it's lower part,
	 we can transform v{,p}expand* to vmovdq* with
	 mask operand.  */
	icode = CODE_FOR_avx512vl_loadv8sf_mask;
      else
	icode = CODE_FOR_expandv8sf_mask;
      emit_insn (GEN_FCN (icode) (operands[0], operands[1], operands[2], reg));
    }
  else
    /* For ALL_MASK_ONES or CONST0_RTX mask, transform it to simple mov.  */
    emit_move_insn (operands[0], ones ? operands[1] : operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26982 */
extern rtx_insn *gen_split_2719 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2719 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2719 (sse.md:26982)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26994 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  unsigned HOST_WIDE_INT mask = INTVAL (operands[3]);
  bool has_zero = false;
  unsigned n = GET_MODE_NUNITS (V4DImode), i;
  unsigned ones = 0;

  /* If all ones bits is in mask's lower part,
     get number of ones and assign it to ONES.  */
  for (i = 0; i != n; i++)
    {
      if ((mask & HOST_WIDE_INT_1U << i) && has_zero)
	break;

      /* Record first zero bit.  */
      if (!(mask & HOST_WIDE_INT_1U << i) && !has_zero)
	{
	  has_zero = true;
	  ones = i;
	}
    }

  if (!has_zero)
    ones = n;

  if (i != n || (ones != 0 && ones != n))
    {
      rtx reg = gen_reg_rtx (QImode);
      emit_move_insn (reg, operands[3]);
      enum insn_code icode;
      if (i == n)
      /* For masks with all one bits in it's lower part,
	 we can transform v{,p}expand* to vmovdq* with
	 mask operand.  */
	icode = CODE_FOR_avx512vl_loadv4di_mask;
      else
	icode = CODE_FOR_expandv4di_mask;
      emit_insn (GEN_FCN (icode) (operands[0], operands[1], operands[2], reg));
    }
  else
    /* For ALL_MASK_ONES or CONST0_RTX mask, transform it to simple mov.  */
    emit_move_insn (operands[0], ones ? operands[1] : operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26982 */
extern rtx_insn *gen_split_2720 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2720 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2720 (sse.md:26982)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26994 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  unsigned HOST_WIDE_INT mask = INTVAL (operands[3]);
  bool has_zero = false;
  unsigned n = GET_MODE_NUNITS (V4DFmode), i;
  unsigned ones = 0;

  /* If all ones bits is in mask's lower part,
     get number of ones and assign it to ONES.  */
  for (i = 0; i != n; i++)
    {
      if ((mask & HOST_WIDE_INT_1U << i) && has_zero)
	break;

      /* Record first zero bit.  */
      if (!(mask & HOST_WIDE_INT_1U << i) && !has_zero)
	{
	  has_zero = true;
	  ones = i;
	}
    }

  if (!has_zero)
    ones = n;

  if (i != n || (ones != 0 && ones != n))
    {
      rtx reg = gen_reg_rtx (QImode);
      emit_move_insn (reg, operands[3]);
      enum insn_code icode;
      if (i == n)
      /* For masks with all one bits in it's lower part,
	 we can transform v{,p}expand* to vmovdq* with
	 mask operand.  */
	icode = CODE_FOR_avx512vl_loadv4df_mask;
      else
	icode = CODE_FOR_expandv4df_mask;
      emit_insn (GEN_FCN (icode) (operands[0], operands[1], operands[2], reg));
    }
  else
    /* For ALL_MASK_ONES or CONST0_RTX mask, transform it to simple mov.  */
    emit_move_insn (operands[0], ones ? operands[1] : operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26982 */
extern rtx_insn *gen_split_2721 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2721 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2721 (sse.md:26982)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26994 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  unsigned HOST_WIDE_INT mask = INTVAL (operands[3]);
  bool has_zero = false;
  unsigned n = GET_MODE_NUNITS (V4SImode), i;
  unsigned ones = 0;

  /* If all ones bits is in mask's lower part,
     get number of ones and assign it to ONES.  */
  for (i = 0; i != n; i++)
    {
      if ((mask & HOST_WIDE_INT_1U << i) && has_zero)
	break;

      /* Record first zero bit.  */
      if (!(mask & HOST_WIDE_INT_1U << i) && !has_zero)
	{
	  has_zero = true;
	  ones = i;
	}
    }

  if (!has_zero)
    ones = n;

  if (i != n || (ones != 0 && ones != n))
    {
      rtx reg = gen_reg_rtx (QImode);
      emit_move_insn (reg, operands[3]);
      enum insn_code icode;
      if (i == n)
      /* For masks with all one bits in it's lower part,
	 we can transform v{,p}expand* to vmovdq* with
	 mask operand.  */
	icode = CODE_FOR_avx512vl_loadv4si_mask;
      else
	icode = CODE_FOR_expandv4si_mask;
      emit_insn (GEN_FCN (icode) (operands[0], operands[1], operands[2], reg));
    }
  else
    /* For ALL_MASK_ONES or CONST0_RTX mask, transform it to simple mov.  */
    emit_move_insn (operands[0], ones ? operands[1] : operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26982 */
extern rtx_insn *gen_split_2722 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2722 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2722 (sse.md:26982)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26994 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  unsigned HOST_WIDE_INT mask = INTVAL (operands[3]);
  bool has_zero = false;
  unsigned n = GET_MODE_NUNITS (V4SFmode), i;
  unsigned ones = 0;

  /* If all ones bits is in mask's lower part,
     get number of ones and assign it to ONES.  */
  for (i = 0; i != n; i++)
    {
      if ((mask & HOST_WIDE_INT_1U << i) && has_zero)
	break;

      /* Record first zero bit.  */
      if (!(mask & HOST_WIDE_INT_1U << i) && !has_zero)
	{
	  has_zero = true;
	  ones = i;
	}
    }

  if (!has_zero)
    ones = n;

  if (i != n || (ones != 0 && ones != n))
    {
      rtx reg = gen_reg_rtx (QImode);
      emit_move_insn (reg, operands[3]);
      enum insn_code icode;
      if (i == n)
      /* For masks with all one bits in it's lower part,
	 we can transform v{,p}expand* to vmovdq* with
	 mask operand.  */
	icode = CODE_FOR_avx512vl_loadv4sf_mask;
      else
	icode = CODE_FOR_expandv4sf_mask;
      emit_insn (GEN_FCN (icode) (operands[0], operands[1], operands[2], reg));
    }
  else
    /* For ALL_MASK_ONES or CONST0_RTX mask, transform it to simple mov.  */
    emit_move_insn (operands[0], ones ? operands[1] : operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26982 */
extern rtx_insn *gen_split_2723 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2723 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2723 (sse.md:26982)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26994 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  unsigned HOST_WIDE_INT mask = INTVAL (operands[3]);
  bool has_zero = false;
  unsigned n = GET_MODE_NUNITS (V2DImode), i;
  unsigned ones = 0;

  /* If all ones bits is in mask's lower part,
     get number of ones and assign it to ONES.  */
  for (i = 0; i != n; i++)
    {
      if ((mask & HOST_WIDE_INT_1U << i) && has_zero)
	break;

      /* Record first zero bit.  */
      if (!(mask & HOST_WIDE_INT_1U << i) && !has_zero)
	{
	  has_zero = true;
	  ones = i;
	}
    }

  if (!has_zero)
    ones = n;

  if (i != n || (ones != 0 && ones != n))
    {
      rtx reg = gen_reg_rtx (QImode);
      emit_move_insn (reg, operands[3]);
      enum insn_code icode;
      if (i == n)
      /* For masks with all one bits in it's lower part,
	 we can transform v{,p}expand* to vmovdq* with
	 mask operand.  */
	icode = CODE_FOR_avx512vl_loadv2di_mask;
      else
	icode = CODE_FOR_expandv2di_mask;
      emit_insn (GEN_FCN (icode) (operands[0], operands[1], operands[2], reg));
    }
  else
    /* For ALL_MASK_ONES or CONST0_RTX mask, transform it to simple mov.  */
    emit_move_insn (operands[0], ones ? operands[1] : operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26982 */
extern rtx_insn *gen_split_2724 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2724 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2724 (sse.md:26982)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26994 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  unsigned HOST_WIDE_INT mask = INTVAL (operands[3]);
  bool has_zero = false;
  unsigned n = GET_MODE_NUNITS (V2DFmode), i;
  unsigned ones = 0;

  /* If all ones bits is in mask's lower part,
     get number of ones and assign it to ONES.  */
  for (i = 0; i != n; i++)
    {
      if ((mask & HOST_WIDE_INT_1U << i) && has_zero)
	break;

      /* Record first zero bit.  */
      if (!(mask & HOST_WIDE_INT_1U << i) && !has_zero)
	{
	  has_zero = true;
	  ones = i;
	}
    }

  if (!has_zero)
    ones = n;

  if (i != n || (ones != 0 && ones != n))
    {
      rtx reg = gen_reg_rtx (QImode);
      emit_move_insn (reg, operands[3]);
      enum insn_code icode;
      if (i == n)
      /* For masks with all one bits in it's lower part,
	 we can transform v{,p}expand* to vmovdq* with
	 mask operand.  */
	icode = CODE_FOR_avx512vl_loadv2df_mask;
      else
	icode = CODE_FOR_expandv2df_mask;
      emit_insn (GEN_FCN (icode) (operands[0], operands[1], operands[2], reg));
    }
  else
    /* For ALL_MASK_ONES or CONST0_RTX mask, transform it to simple mov.  */
    emit_move_insn (operands[0], ones ? operands[1] : operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26982 */
extern rtx_insn *gen_split_2725 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2725 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2725 (sse.md:26982)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26994 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  unsigned HOST_WIDE_INT mask = INTVAL (operands[3]);
  bool has_zero = false;
  unsigned n = GET_MODE_NUNITS (V64QImode), i;
  unsigned ones = 0;

  /* If all ones bits is in mask's lower part,
     get number of ones and assign it to ONES.  */
  for (i = 0; i != n; i++)
    {
      if ((mask & HOST_WIDE_INT_1U << i) && has_zero)
	break;

      /* Record first zero bit.  */
      if (!(mask & HOST_WIDE_INT_1U << i) && !has_zero)
	{
	  has_zero = true;
	  ones = i;
	}
    }

  if (!has_zero)
    ones = n;

  if (i != n || (ones != 0 && ones != n))
    {
      rtx reg = gen_reg_rtx (DImode);
      emit_move_insn (reg, operands[3]);
      enum insn_code icode;
      if (i == n)
      /* For masks with all one bits in it's lower part,
	 we can transform v{,p}expand* to vmovdq* with
	 mask operand.  */
	icode = CODE_FOR_avx512bw_loadv64qi_mask;
      else
	icode = CODE_FOR_expandv64qi_mask;
      emit_insn (GEN_FCN (icode) (operands[0], operands[1], operands[2], reg));
    }
  else
    /* For ALL_MASK_ONES or CONST0_RTX mask, transform it to simple mov.  */
    emit_move_insn (operands[0], ones ? operands[1] : operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26982 */
extern rtx_insn *gen_split_2726 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2726 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2726 (sse.md:26982)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26994 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  unsigned HOST_WIDE_INT mask = INTVAL (operands[3]);
  bool has_zero = false;
  unsigned n = GET_MODE_NUNITS (V16QImode), i;
  unsigned ones = 0;

  /* If all ones bits is in mask's lower part,
     get number of ones and assign it to ONES.  */
  for (i = 0; i != n; i++)
    {
      if ((mask & HOST_WIDE_INT_1U << i) && has_zero)
	break;

      /* Record first zero bit.  */
      if (!(mask & HOST_WIDE_INT_1U << i) && !has_zero)
	{
	  has_zero = true;
	  ones = i;
	}
    }

  if (!has_zero)
    ones = n;

  if (i != n || (ones != 0 && ones != n))
    {
      rtx reg = gen_reg_rtx (HImode);
      emit_move_insn (reg, operands[3]);
      enum insn_code icode;
      if (i == n)
      /* For masks with all one bits in it's lower part,
	 we can transform v{,p}expand* to vmovdq* with
	 mask operand.  */
	icode = CODE_FOR_avx512vl_loadv16qi_mask;
      else
	icode = CODE_FOR_expandv16qi_mask;
      emit_insn (GEN_FCN (icode) (operands[0], operands[1], operands[2], reg));
    }
  else
    /* For ALL_MASK_ONES or CONST0_RTX mask, transform it to simple mov.  */
    emit_move_insn (operands[0], ones ? operands[1] : operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26982 */
extern rtx_insn *gen_split_2727 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2727 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2727 (sse.md:26982)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26994 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  unsigned HOST_WIDE_INT mask = INTVAL (operands[3]);
  bool has_zero = false;
  unsigned n = GET_MODE_NUNITS (V32QImode), i;
  unsigned ones = 0;

  /* If all ones bits is in mask's lower part,
     get number of ones and assign it to ONES.  */
  for (i = 0; i != n; i++)
    {
      if ((mask & HOST_WIDE_INT_1U << i) && has_zero)
	break;

      /* Record first zero bit.  */
      if (!(mask & HOST_WIDE_INT_1U << i) && !has_zero)
	{
	  has_zero = true;
	  ones = i;
	}
    }

  if (!has_zero)
    ones = n;

  if (i != n || (ones != 0 && ones != n))
    {
      rtx reg = gen_reg_rtx (SImode);
      emit_move_insn (reg, operands[3]);
      enum insn_code icode;
      if (i == n)
      /* For masks with all one bits in it's lower part,
	 we can transform v{,p}expand* to vmovdq* with
	 mask operand.  */
	icode = CODE_FOR_avx512vl_loadv32qi_mask;
      else
	icode = CODE_FOR_expandv32qi_mask;
      emit_insn (GEN_FCN (icode) (operands[0], operands[1], operands[2], reg));
    }
  else
    /* For ALL_MASK_ONES or CONST0_RTX mask, transform it to simple mov.  */
    emit_move_insn (operands[0], ones ? operands[1] : operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26982 */
extern rtx_insn *gen_split_2728 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2728 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2728 (sse.md:26982)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26994 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  unsigned HOST_WIDE_INT mask = INTVAL (operands[3]);
  bool has_zero = false;
  unsigned n = GET_MODE_NUNITS (V32HImode), i;
  unsigned ones = 0;

  /* If all ones bits is in mask's lower part,
     get number of ones and assign it to ONES.  */
  for (i = 0; i != n; i++)
    {
      if ((mask & HOST_WIDE_INT_1U << i) && has_zero)
	break;

      /* Record first zero bit.  */
      if (!(mask & HOST_WIDE_INT_1U << i) && !has_zero)
	{
	  has_zero = true;
	  ones = i;
	}
    }

  if (!has_zero)
    ones = n;

  if (i != n || (ones != 0 && ones != n))
    {
      rtx reg = gen_reg_rtx (SImode);
      emit_move_insn (reg, operands[3]);
      enum insn_code icode;
      if (i == n)
      /* For masks with all one bits in it's lower part,
	 we can transform v{,p}expand* to vmovdq* with
	 mask operand.  */
	icode = CODE_FOR_avx512bw_loadv32hi_mask;
      else
	icode = CODE_FOR_expandv32hi_mask;
      emit_insn (GEN_FCN (icode) (operands[0], operands[1], operands[2], reg));
    }
  else
    /* For ALL_MASK_ONES or CONST0_RTX mask, transform it to simple mov.  */
    emit_move_insn (operands[0], ones ? operands[1] : operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26982 */
extern rtx_insn *gen_split_2729 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2729 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2729 (sse.md:26982)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26994 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  unsigned HOST_WIDE_INT mask = INTVAL (operands[3]);
  bool has_zero = false;
  unsigned n = GET_MODE_NUNITS (V16HImode), i;
  unsigned ones = 0;

  /* If all ones bits is in mask's lower part,
     get number of ones and assign it to ONES.  */
  for (i = 0; i != n; i++)
    {
      if ((mask & HOST_WIDE_INT_1U << i) && has_zero)
	break;

      /* Record first zero bit.  */
      if (!(mask & HOST_WIDE_INT_1U << i) && !has_zero)
	{
	  has_zero = true;
	  ones = i;
	}
    }

  if (!has_zero)
    ones = n;

  if (i != n || (ones != 0 && ones != n))
    {
      rtx reg = gen_reg_rtx (HImode);
      emit_move_insn (reg, operands[3]);
      enum insn_code icode;
      if (i == n)
      /* For masks with all one bits in it's lower part,
	 we can transform v{,p}expand* to vmovdq* with
	 mask operand.  */
	icode = CODE_FOR_avx512vl_loadv16hi_mask;
      else
	icode = CODE_FOR_expandv16hi_mask;
      emit_insn (GEN_FCN (icode) (operands[0], operands[1], operands[2], reg));
    }
  else
    /* For ALL_MASK_ONES or CONST0_RTX mask, transform it to simple mov.  */
    emit_move_insn (operands[0], ones ? operands[1] : operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:26982 */
extern rtx_insn *gen_split_2730 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2730 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2730 (sse.md:26982)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 26994 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  unsigned HOST_WIDE_INT mask = INTVAL (operands[3]);
  bool has_zero = false;
  unsigned n = GET_MODE_NUNITS (V8HImode), i;
  unsigned ones = 0;

  /* If all ones bits is in mask's lower part,
     get number of ones and assign it to ONES.  */
  for (i = 0; i != n; i++)
    {
      if ((mask & HOST_WIDE_INT_1U << i) && has_zero)
	break;

      /* Record first zero bit.  */
      if (!(mask & HOST_WIDE_INT_1U << i) && !has_zero)
	{
	  has_zero = true;
	  ones = i;
	}
    }

  if (!has_zero)
    ones = n;

  if (i != n || (ones != 0 && ones != n))
    {
      rtx reg = gen_reg_rtx (QImode);
      emit_move_insn (reg, operands[3]);
      enum insn_code icode;
      if (i == n)
      /* For masks with all one bits in it's lower part,
	 we can transform v{,p}expand* to vmovdq* with
	 mask operand.  */
	icode = CODE_FOR_avx512vl_loadv8hi_mask;
      else
	icode = CODE_FOR_expandv8hi_mask;
      emit_insn (GEN_FCN (icode) (operands[0], operands[1], operands[2], reg));
    }
  else
    /* For ALL_MASK_ONES or CONST0_RTX mask, transform it to simple mov.  */
    emit_move_insn (operands[0], ones ? operands[1] : operands[2]);
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27038 */
rtx
gen_expandv64qi_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27046 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V64QImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V64QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27038 */
rtx
gen_expandv16qi_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27046 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V16QImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27038 */
rtx
gen_expandv32qi_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27046 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V32QImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32QImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27038 */
rtx
gen_expandv32hi_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27046 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V32HImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V32HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27038 */
rtx
gen_expandv16hi_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27046 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V16HImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V16HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27038 */
rtx
gen_expandv8hi_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27046 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
operands[2] = CONST0_RTX (V8HImode);
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (V8HImode,
	gen_rtvec (3,
		operand1,
		operand2,
		operand3),
	157)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27276 */
extern rtx_insn *gen_split_2731 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2731 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2731 (sse.md:27276)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27287 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (REG_P (operands[0]))
    operands[0] = gen_lowpart (V4SImode, operands[0]);
  else
    operands[1] = lowpart_subreg (V16SImode, operands[1],
				  V4SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27276 */
extern rtx_insn *gen_split_2732 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2732 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2732 (sse.md:27276)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27287 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (REG_P (operands[0]))
    operands[0] = gen_lowpart (V4SFmode, operands[0]);
  else
    operands[1] = lowpart_subreg (V16SFmode, operands[1],
				  V4SFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27276 */
extern rtx_insn *gen_split_2733 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2733 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2733 (sse.md:27276)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27287 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (REG_P (operands[0]))
    operands[0] = gen_lowpart (V2DFmode, operands[0]);
  else
    operands[1] = lowpart_subreg (V8DFmode, operands[1],
				  V2DFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27295 */
extern rtx_insn *gen_split_2734 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2734 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2734 (sse.md:27295)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27304 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (REG_P (operands[0]))
    operands[0] = gen_lowpart (V8SImode, operands[0]);
  else
    operands[1] = lowpart_subreg (V16SImode, operands[1],
				  V8SImode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27295 */
extern rtx_insn *gen_split_2735 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2735 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2735 (sse.md:27295)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27304 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (REG_P (operands[0]))
    operands[0] = gen_lowpart (V8SFmode, operands[0]);
  else
    operands[1] = lowpart_subreg (V16SFmode, operands[1],
				  V8SFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27295 */
extern rtx_insn *gen_split_2736 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2736 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2736 (sse.md:27295)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27304 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (REG_P (operands[0]))
    operands[0] = gen_lowpart (V4DFmode, operands[0]);
  else
    operands[1] = lowpart_subreg (V8DFmode, operands[1],
				  V4DFmode);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27319 */
rtx
gen_vpamdd52huqv8di_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27326 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpamdd52huqv8di_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8DImode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27319 */
rtx
gen_vpamdd52huqv4di_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27326 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpamdd52huqv4di_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4DImode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27319 */
rtx
gen_vpamdd52huqv2di_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27326 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpamdd52huqv2di_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V2DImode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27333 */
rtx
gen_vpamdd52luqv8di_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpamdd52luqv8di_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V8DImode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27333 */
rtx
gen_vpamdd52luqv4di_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpamdd52luqv4di_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V4DImode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27333 */
rtx
gen_vpamdd52luqv2di_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27340 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpamdd52luqv2di_maskz_1 (
    operands[0], operands[1], operands[2], operands[3],
    CONST0_RTX (V2DImode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27394 */
rtx
gen_movv64sf (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27398 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V64SFmode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27394 */
rtx
gen_movv64si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27398 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  ix86_expand_vector_move (V64SImode, operands);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27403 */
extern rtx_insn *gen_split_2737 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2737 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2737 (sse.md:27403)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27412 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0, op1;
  int i;

  for (i = 0; i < 4; i++)
    {
      op0 = simplify_subreg
	     (V16SFmode, operands[0], V64SFmode, i * 64);
      op1 = simplify_subreg
	     (V16SFmode, operands[1], V64SFmode, i * 64);
      emit_move_insn (op0, op1);
    }
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27403 */
extern rtx_insn *gen_split_2738 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2738 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2738 (sse.md:27403)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27412 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx op0, op1;
  int i;

  for (i = 0; i < 4; i++)
    {
      op0 = simplify_subreg
	     (V16SImode, operands[0], V64SImode, i * 64);
      op1 = simplify_subreg
	     (V16SImode, operands[1], V64SImode, i * 64);
      emit_move_insn (op0, op1);
    }
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27673 */
rtx
gen_popcountv16si2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V16SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27673 */
rtx
gen_popcountv8si2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V8SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27673 */
rtx
gen_popcountv4si2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V4SImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27673 */
rtx
gen_popcountv8di2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V8DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27673 */
rtx
gen_popcountv4di2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V4DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27673 */
rtx
gen_popcountv2di2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V2DImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27723 */
rtx
gen_popcountv64qi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V64QImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27723 */
rtx
gen_popcountv16qi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V16QImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27723 */
rtx
gen_popcountv32qi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V32QImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27723 */
rtx
gen_popcountv32hi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V32HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27723 */
rtx
gen_popcountv16hi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V16HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27723 */
rtx
gen_popcountv8hi2 (rtx operand0,
	rtx operand1)
{
  return gen_rtx_SET (operand0,
	gen_rtx_POPCOUNT (V8HImode,
	operand1));
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27835 */
rtx
gen_vpshrdv_v32hi_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27842 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpshrdv_v32hi_maskz_1 (operands[0], operands[1],
					 operands[2], operands[3],
					 CONST0_RTX (V32HImode),
						     operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27835 */
rtx
gen_vpshrdv_v16si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27842 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpshrdv_v16si_maskz_1 (operands[0], operands[1],
					 operands[2], operands[3],
					 CONST0_RTX (V16SImode),
						     operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27835 */
rtx
gen_vpshrdv_v8di_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27842 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpshrdv_v8di_maskz_1 (operands[0], operands[1],
					 operands[2], operands[3],
					 CONST0_RTX (V8DImode),
						     operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27835 */
rtx
gen_vpshrdv_v16hi_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27842 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpshrdv_v16hi_maskz_1 (operands[0], operands[1],
					 operands[2], operands[3],
					 CONST0_RTX (V16HImode),
						     operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27835 */
rtx
gen_vpshrdv_v8si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27842 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpshrdv_v8si_maskz_1 (operands[0], operands[1],
					 operands[2], operands[3],
					 CONST0_RTX (V8SImode),
						     operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27835 */
rtx
gen_vpshrdv_v4di_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27842 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpshrdv_v4di_maskz_1 (operands[0], operands[1],
					 operands[2], operands[3],
					 CONST0_RTX (V4DImode),
						     operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27835 */
rtx
gen_vpshrdv_v8hi_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27842 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpshrdv_v8hi_maskz_1 (operands[0], operands[1],
					 operands[2], operands[3],
					 CONST0_RTX (V8HImode),
						     operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27835 */
rtx
gen_vpshrdv_v4si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27842 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpshrdv_v4si_maskz_1 (operands[0], operands[1],
					 operands[2], operands[3],
					 CONST0_RTX (V4SImode),
						     operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27835 */
rtx
gen_vpshrdv_v2di_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27842 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpshrdv_v2di_maskz_1 (operands[0], operands[1],
					 operands[2], operands[3],
					 CONST0_RTX (V2DImode),
						     operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27892 */
rtx
gen_vpshldv_v32hi_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27899 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpshldv_v32hi_maskz_1 (operands[0], operands[1],
					 operands[2], operands[3],
					 CONST0_RTX (V32HImode),
						     operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27892 */
rtx
gen_vpshldv_v16si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27899 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpshldv_v16si_maskz_1 (operands[0], operands[1],
					 operands[2], operands[3],
					 CONST0_RTX (V16SImode),
						     operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27892 */
rtx
gen_vpshldv_v8di_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27899 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpshldv_v8di_maskz_1 (operands[0], operands[1],
					 operands[2], operands[3],
					 CONST0_RTX (V8DImode),
						     operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27892 */
rtx
gen_vpshldv_v16hi_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27899 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpshldv_v16hi_maskz_1 (operands[0], operands[1],
					 operands[2], operands[3],
					 CONST0_RTX (V16HImode),
						     operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27892 */
rtx
gen_vpshldv_v8si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27899 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpshldv_v8si_maskz_1 (operands[0], operands[1],
					 operands[2], operands[3],
					 CONST0_RTX (V8SImode),
						     operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27892 */
rtx
gen_vpshldv_v4di_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27899 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpshldv_v4di_maskz_1 (operands[0], operands[1],
					 operands[2], operands[3],
					 CONST0_RTX (V4DImode),
						     operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27892 */
rtx
gen_vpshldv_v8hi_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27899 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpshldv_v8hi_maskz_1 (operands[0], operands[1],
					 operands[2], operands[3],
					 CONST0_RTX (V8HImode),
						     operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27892 */
rtx
gen_vpshldv_v4si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27899 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpshldv_v4si_maskz_1 (operands[0], operands[1],
					 operands[2], operands[3],
					 CONST0_RTX (V4SImode),
						     operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27892 */
rtx
gen_vpshldv_v2di_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27899 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpshldv_v2di_maskz_1 (operands[0], operands[1],
					 operands[2], operands[3],
					 CONST0_RTX (V2DImode),
						     operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27928 */
rtx
gen_usdot_prodv64qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27936 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = lowpart_subreg (V16SImode,
				force_reg (V64QImode, operands[1]),
				V64QImode);
  operands[2] = lowpart_subreg (V16SImode,
				force_reg (V64QImode, operands[2]),
				V64QImode);
  emit_insn (gen_rtx_SET (operands[0], operands[3]));
  emit_insn (gen_vpdpbusd_v16si (operands[0], operands[3],
				  operands[1], operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27928 */
rtx
gen_usdot_prodv32qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27936 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = lowpart_subreg (V8SImode,
				force_reg (V32QImode, operands[1]),
				V32QImode);
  operands[2] = lowpart_subreg (V8SImode,
				force_reg (V32QImode, operands[2]),
				V32QImode);
  emit_insn (gen_rtx_SET (operands[0], operands[3]));
  emit_insn (gen_vpdpbusd_v8si (operands[0], operands[3],
				  operands[1], operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27928 */
rtx
gen_usdot_prodv16qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27936 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  operands[1] = lowpart_subreg (V4SImode,
				force_reg (V16QImode, operands[1]),
				V16QImode);
  operands[2] = lowpart_subreg (V4SImode,
				force_reg (V16QImode, operands[2]),
				V16QImode);
  emit_insn (gen_rtx_SET (operands[0], operands[3]));
  emit_insn (gen_vpdpbusd_v4si (operands[0], operands[3],
				  operands[1], operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27988 */
rtx
gen_vpdpbusd_v16si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27995 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpdpbusd_v16si_maskz_1 (operands[0], operands[1],
					  operands[2], operands[3],
					  CONST0_RTX (V16SImode),
						      operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27988 */
rtx
gen_vpdpbusd_v8si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27995 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpdpbusd_v8si_maskz_1 (operands[0], operands[1],
					  operands[2], operands[3],
					  CONST0_RTX (V8SImode),
						      operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:27988 */
rtx
gen_vpdpbusd_v4si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 27995 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpdpbusd_v4si_maskz_1 (operands[0], operands[1],
					  operands[2], operands[3],
					  CONST0_RTX (V4SImode),
						      operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28056 */
rtx
gen_vpdpbusds_v16si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28063 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpdpbusds_v16si_maskz_1 (operands[0], operands[1],
					   operands[2], operands[3],
					   CONST0_RTX (V16SImode),
						       operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28056 */
rtx
gen_vpdpbusds_v8si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28063 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpdpbusds_v8si_maskz_1 (operands[0], operands[1],
					   operands[2], operands[3],
					   CONST0_RTX (V8SImode),
						       operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28056 */
rtx
gen_vpdpbusds_v4si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28063 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpdpbusds_v4si_maskz_1 (operands[0], operands[1],
					   operands[2], operands[3],
					   CONST0_RTX (V4SImode),
						       operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28124 */
rtx
gen_vpdpwssd_v16si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28131 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpdpwssd_v16si_maskz_1 (operands[0], operands[1],
					  operands[2], operands[3],
					  CONST0_RTX (V16SImode),
						      operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28124 */
rtx
gen_vpdpwssd_v8si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28131 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpdpwssd_v8si_maskz_1 (operands[0], operands[1],
					  operands[2], operands[3],
					  CONST0_RTX (V8SImode),
						      operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28124 */
rtx
gen_vpdpwssd_v4si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28131 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpdpwssd_v4si_maskz_1 (operands[0], operands[1],
					  operands[2], operands[3],
					  CONST0_RTX (V4SImode),
						      operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28192 */
rtx
gen_vpdpwssds_v16si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28199 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpdpwssds_v16si_maskz_1 (operands[0], operands[1],
					   operands[2], operands[3],
					   CONST0_RTX (V16SImode),
						       operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28192 */
rtx
gen_vpdpwssds_v8si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28199 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpdpwssds_v8si_maskz_1 (operands[0], operands[1],
					   operands[2], operands[3],
					   CONST0_RTX (V8SImode),
						       operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28192 */
rtx
gen_vpdpwssds_v4si_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28199 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_vpdpwssds_v4si_maskz_1 (operands[0], operands[1],
					   operands[2], operands[3],
					   CONST0_RTX (V4SImode),
						       operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28289 */
rtx
gen_movp2qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28293 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (MEM_P (operands[0]) && MEM_P (operands[1]))
    operands[1] = force_reg (P2QImode, operands[1]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28289 */
rtx
gen_movp2hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28293 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (MEM_P (operands[0]) && MEM_P (operands[1]))
    operands[1] = force_reg (P2HImode, operands[1]);
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28298 */
extern rtx_insn *gen_split_2739 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2739 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2739 (sse.md:28298)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28307 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  split_double_mode (P2QImode, &operands[0], 2, &operands[0], &operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  emit_insn (gen_rtx_SET (operand2,
	operand3));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28298 */
extern rtx_insn *gen_split_2740 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2740 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2740 (sse.md:28298)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28307 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  split_double_mode (P2HImode, &operands[0], 2, &operands[0], &operands[2]);
}
#undef DONE
#undef FAIL
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  emit_insn (gen_rtx_SET (operand2,
	operand3));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28341 */
rtx
gen_avx512f_cvtne2ps2bf16_v32hi_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28347 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_cvtne2ps2bf16_v32hi_mask(operands[0], operands[1],
    operands[2], CONST0_RTX(V32HImode), operands[3]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28341 */
rtx
gen_avx512f_cvtne2ps2bf16_v16hi_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28347 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_cvtne2ps2bf16_v16hi_mask(operands[0], operands[1],
    operands[2], CONST0_RTX(V16HImode), operands[3]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28341 */
rtx
gen_avx512f_cvtne2ps2bf16_v8hi_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28347 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_cvtne2ps2bf16_v8hi_mask(operands[0], operands[1],
    operands[2], CONST0_RTX(V8HImode), operands[3]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28362 */
rtx
gen_avx512f_cvtneps2bf16_v16sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28367 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_cvtneps2bf16_v16sf_mask(operands[0], operands[1],
    CONST0_RTX(V16HImode), operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28362 */
rtx
gen_avx512f_cvtneps2bf16_v8sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28367 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_cvtneps2bf16_v8sf_mask(operands[0], operands[1],
    CONST0_RTX(V8HImode), operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28362 */
rtx
gen_avx512f_cvtneps2bf16_v4sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28367 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_cvtneps2bf16_v4sf_mask(operands[0], operands[1],
    CONST0_RTX(V8HImode), operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28381 */
rtx
gen_avx512f_dpbf16ps_v16sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28388 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_dpbf16ps_v16sf_maskz_1(operands[0], operands[1],
    operands[2], operands[3], CONST0_RTX(V16SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28381 */
rtx
gen_avx512f_dpbf16ps_v8sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28388 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_dpbf16ps_v8sf_maskz_1(operands[0], operands[1],
    operands[2], operands[3], CONST0_RTX(V8SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28381 */
rtx
gen_avx512f_dpbf16ps_v4sf_maskz (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28388 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  emit_insn (gen_avx512f_dpbf16ps_v4sf_maskz_1(operands[0], operands[1],
    operands[2], operands[3], CONST0_RTX(V4SFmode), operands[4]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28429 */
rtx
gen_encodekey128u32 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28437 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx xmm_regs[7];
  rtx tmp_unspec;
  unsigned i;

  /* parallel rtx for encodekey128 predicate */
  operands[2] = gen_rtx_PARALLEL (VOIDmode, rtvec_alloc (8));

  for (i = 0; i < 7; i++)
    xmm_regs[i] = gen_rtx_REG (V2DImode, GET_SSE_REGNO (i));

  tmp_unspec
    = gen_rtx_UNSPEC_VOLATILE (SImode,
			       gen_rtvec (2, operands[1], xmm_regs[0]),
			       UNSPECV_ENCODEKEY128U32);

  XVECEXP (operands[2], 0, 0)
    = gen_rtx_SET (operands[0], tmp_unspec);

  tmp_unspec
    = gen_rtx_UNSPEC_VOLATILE (V2DImode,
			       gen_rtvec (1, const0_rtx),
			       UNSPECV_ENCODEKEY128U32);

  for (i = 0; i < 3; i++)
    XVECEXP (operands[2], 0, i + 1)
      = gen_rtx_SET (xmm_regs[i], tmp_unspec);

  for (i = 4; i < 7; i++)
    XVECEXP (operands[2], 0, i)
      = gen_rtx_CLOBBER (VOIDmode, xmm_regs[i]);

  XVECEXP (operands[2], 0, 7)
    = gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (CCmode, FLAGS_REG));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (operand2);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28484 */
rtx
gen_encodekey256u32 (rtx operand0,
	rtx operand1)
{
  rtx operand2;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28493 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx xmm_regs[7];
  rtx tmp_unspec;
  unsigned i;

  /* parallel rtx for encodekey256 predicate */
  operands[2] = gen_rtx_PARALLEL (VOIDmode, rtvec_alloc (9));

  for (i = 0; i < 7; i++)
    xmm_regs[i] = gen_rtx_REG (V2DImode, GET_SSE_REGNO (i));

  tmp_unspec
    = gen_rtx_UNSPEC_VOLATILE (SImode,
			       gen_rtvec (3, operands[1],
					  xmm_regs[0], xmm_regs[1]),
			       UNSPECV_ENCODEKEY256U32);

  XVECEXP (operands[2], 0, 0)
    = gen_rtx_SET (operands[0], tmp_unspec);

  tmp_unspec
    = gen_rtx_UNSPEC_VOLATILE (V2DImode,
			       gen_rtvec (1, const0_rtx),
			       UNSPECV_ENCODEKEY256U32);

  for (i = 0; i < 4; i++)
    XVECEXP (operands[2], 0, i + 1)
      = gen_rtx_SET (xmm_regs[i], tmp_unspec);

  for (i = 4; i < 7; i++)
    XVECEXP (operands[2], 0, i + 1)
      = gen_rtx_CLOBBER (VOIDmode, xmm_regs[i]);

  XVECEXP (operands[2], 0, 8)
    = gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (CCmode, FLAGS_REG));
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (operand2);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28579 */
rtx
gen_aesdecwide128klu8 (rtx operand0)
{
  rtx operand1;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp_unspec;
  unsigned i;

  /* parallel rtx for widekl predicate */
  operands[1] = gen_rtx_PARALLEL (VOIDmode, rtvec_alloc (9));

  tmp_unspec
    = gen_rtx_UNSPEC_VOLATILE (CCZmode,
			       gen_rtvec (1, operands[0]),
			       UNSPECV_AESDECWIDE128KLU8);

  XVECEXP (operands[1], 0, 0)
     = gen_rtx_SET (gen_rtx_REG (CCZmode, FLAGS_REG),
		    tmp_unspec);

  for (i = 0; i < 8; i++)
    {
      rtx xmm_reg = gen_rtx_REG (V2DImode, GET_SSE_REGNO (i));

      tmp_unspec
	= gen_rtx_UNSPEC_VOLATILE (V2DImode,
				   gen_rtvec (1, xmm_reg),
				   UNSPECV_AESDECWIDE128KLU8);
      XVECEXP (operands[1], 0, i + 1)
	= gen_rtx_SET (xmm_reg, tmp_unspec);
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (operand1);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28579 */
rtx
gen_aesdecwide256klu8 (rtx operand0)
{
  rtx operand1;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp_unspec;
  unsigned i;

  /* parallel rtx for widekl predicate */
  operands[1] = gen_rtx_PARALLEL (VOIDmode, rtvec_alloc (9));

  tmp_unspec
    = gen_rtx_UNSPEC_VOLATILE (CCZmode,
			       gen_rtvec (1, operands[0]),
			       UNSPECV_AESDECWIDE256KLU8);

  XVECEXP (operands[1], 0, 0)
     = gen_rtx_SET (gen_rtx_REG (CCZmode, FLAGS_REG),
		    tmp_unspec);

  for (i = 0; i < 8; i++)
    {
      rtx xmm_reg = gen_rtx_REG (V2DImode, GET_SSE_REGNO (i));

      tmp_unspec
	= gen_rtx_UNSPEC_VOLATILE (V2DImode,
				   gen_rtvec (1, xmm_reg),
				   UNSPECV_AESDECWIDE256KLU8);
      XVECEXP (operands[1], 0, i + 1)
	= gen_rtx_SET (xmm_reg, tmp_unspec);
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (operand1);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28579 */
rtx
gen_aesencwide128klu8 (rtx operand0)
{
  rtx operand1;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp_unspec;
  unsigned i;

  /* parallel rtx for widekl predicate */
  operands[1] = gen_rtx_PARALLEL (VOIDmode, rtvec_alloc (9));

  tmp_unspec
    = gen_rtx_UNSPEC_VOLATILE (CCZmode,
			       gen_rtvec (1, operands[0]),
			       UNSPECV_AESENCWIDE128KLU8);

  XVECEXP (operands[1], 0, 0)
     = gen_rtx_SET (gen_rtx_REG (CCZmode, FLAGS_REG),
		    tmp_unspec);

  for (i = 0; i < 8; i++)
    {
      rtx xmm_reg = gen_rtx_REG (V2DImode, GET_SSE_REGNO (i));

      tmp_unspec
	= gen_rtx_UNSPEC_VOLATILE (V2DImode,
				   gen_rtvec (1, xmm_reg),
				   UNSPECV_AESENCWIDE128KLU8);
      XVECEXP (operands[1], 0, i + 1)
	= gen_rtx_SET (xmm_reg, tmp_unspec);
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (operand1);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28579 */
rtx
gen_aesencwide256klu8 (rtx operand0)
{
  rtx operand1;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28586 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  rtx tmp_unspec;
  unsigned i;

  /* parallel rtx for widekl predicate */
  operands[1] = gen_rtx_PARALLEL (VOIDmode, rtvec_alloc (9));

  tmp_unspec
    = gen_rtx_UNSPEC_VOLATILE (CCZmode,
			       gen_rtvec (1, operands[0]),
			       UNSPECV_AESENCWIDE256KLU8);

  XVECEXP (operands[1], 0, 0)
     = gen_rtx_SET (gen_rtx_REG (CCZmode, FLAGS_REG),
		    tmp_unspec);

  for (i = 0; i < 8; i++)
    {
      rtx xmm_reg = gen_rtx_REG (V2DImode, GET_SSE_REGNO (i));

      tmp_unspec
	= gen_rtx_UNSPEC_VOLATILE (V2DImode,
				   gen_rtvec (1, xmm_reg),
				   UNSPECV_AESENCWIDE256KLU8);
      XVECEXP (operands[1], 0, i + 1)
	= gen_rtx_SET (xmm_reg, tmp_unspec);
    }
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (operand1);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28642 */
rtx
gen_vec_duplicatev64qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!ix86_expand_vector_init_duplicate (false,
					  GET_MODE (operands[0]),
					  operands[0],
					  operands[1]))
    gcc_unreachable ();
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V64QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28642 */
rtx
gen_vec_duplicatev32qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!ix86_expand_vector_init_duplicate (false,
					  GET_MODE (operands[0]),
					  operands[0],
					  operands[1]))
    gcc_unreachable ();
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V32QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28642 */
rtx
gen_vec_duplicatev16qi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!ix86_expand_vector_init_duplicate (false,
					  GET_MODE (operands[0]),
					  operands[0],
					  operands[1]))
    gcc_unreachable ();
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V16QImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28642 */
rtx
gen_vec_duplicatev32hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!ix86_expand_vector_init_duplicate (false,
					  GET_MODE (operands[0]),
					  operands[0],
					  operands[1]))
    gcc_unreachable ();
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V32HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28642 */
rtx
gen_vec_duplicatev16hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!ix86_expand_vector_init_duplicate (false,
					  GET_MODE (operands[0]),
					  operands[0],
					  operands[1]))
    gcc_unreachable ();
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V16HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28642 */
rtx
gen_vec_duplicatev8hi (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!ix86_expand_vector_init_duplicate (false,
					  GET_MODE (operands[0]),
					  operands[0],
					  operands[1]))
    gcc_unreachable ();
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8HImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28642 */
rtx
gen_vec_duplicatev16si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!ix86_expand_vector_init_duplicate (false,
					  GET_MODE (operands[0]),
					  operands[0],
					  operands[1]))
    gcc_unreachable ();
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V16SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28642 */
rtx
gen_vec_duplicatev8si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!ix86_expand_vector_init_duplicate (false,
					  GET_MODE (operands[0]),
					  operands[0],
					  operands[1]))
    gcc_unreachable ();
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28642 */
rtx
gen_vec_duplicatev4si (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!ix86_expand_vector_init_duplicate (false,
					  GET_MODE (operands[0]),
					  operands[0],
					  operands[1]))
    gcc_unreachable ();
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V4SImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28642 */
rtx
gen_vec_duplicatev8di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!ix86_expand_vector_init_duplicate (false,
					  GET_MODE (operands[0]),
					  operands[0],
					  operands[1]))
    gcc_unreachable ();
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V8DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28642 */
rtx
gen_vec_duplicatev4di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!ix86_expand_vector_init_duplicate (false,
					  GET_MODE (operands[0]),
					  operands[0],
					  operands[1]))
    gcc_unreachable ();
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V4DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md:28642 */
rtx
gen_vec_duplicatev2di (rtx operand0,
	rtx operand1)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[2];
    operands[0] = operand0;
    operands[1] = operand1;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 28647 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sse.md"
{
  if (!ix86_expand_vector_init_duplicate (false,
					  GET_MODE (operands[0]),
					  operands[0],
					  operands[1]))
    gcc_unreachable ();
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_VEC_DUPLICATE (V2DImode,
	operand1)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:42 */
rtx
gen_sse2_lfence (void)
{
  rtx operand0;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[1];
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 46 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode));
  MEM_VOLATILE_P (operands[0]) = 1;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (BLKmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	219)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:61 */
rtx
gen_sse_sfence (void)
{
  rtx operand0;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[1];
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 65 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode));
  MEM_VOLATILE_P (operands[0]) = 1;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (BLKmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	220)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:80 */
rtx
gen_sse2_mfence (void)
{
  rtx operand0;
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[1];
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 84 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  operands[0] = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode));
  MEM_VOLATILE_P (operands[0]) = 1;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (BLKmode,
	gen_rtvec (1,
		copy_rtx (operand0)),
	221)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:112 */
rtx
gen_mem_thread_fence (rtx operand0)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[1];
    operands[0] = operand0;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 115 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  enum memmodel model = memmodel_from_int (INTVAL (operands[0]));

  /* Unless this is a SEQ_CST fence, the i386 memory model is strong
     enough not to require barriers of any kind.  */
  if (is_mm_seq_cst (model))
    {
      rtx (*mfence_insn)(rtx);
      rtx mem;

      if ((TARGET_64BIT || TARGET_SSE2)
	  && (optimize_function_for_size_p (cfun)
	      || !TARGET_AVOID_MFENCE))
	mfence_insn = gen_mfence_sse2;
      else
	mfence_insn = gen_mfence_nosse;

      mem = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (Pmode));
      MEM_VOLATILE_P (mem) = 1;

      emit_insn (mfence_insn (mem));
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
  }
  emit (operand0, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:156 */
rtx
gen_atomic_loadqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 162 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  /* For DImode on 32-bit, we can use the FPU to perform the load.  */
  if (QImode == DImode && !TARGET_64BIT)
    emit_insn (gen_atomic_loaddi_fpu
	       (operands[0], operands[1],
	        assign_386_stack_local (DImode, SLOT_TEMP)));
  else
    {
      rtx dst = operands[0];

      if (MEM_P (dst))
	dst = gen_reg_rtx (QImode);

      emit_move_insn (dst, operands[1]);

      /* Fix up the destination if needed.  */
      if (dst != operands[0])
	emit_move_insn (operands[0], dst);
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	226)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:156 */
rtx
gen_atomic_loadhi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 162 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  /* For DImode on 32-bit, we can use the FPU to perform the load.  */
  if (HImode == DImode && !TARGET_64BIT)
    emit_insn (gen_atomic_loaddi_fpu
	       (operands[0], operands[1],
	        assign_386_stack_local (DImode, SLOT_TEMP)));
  else
    {
      rtx dst = operands[0];

      if (MEM_P (dst))
	dst = gen_reg_rtx (HImode);

      emit_move_insn (dst, operands[1]);

      /* Fix up the destination if needed.  */
      if (dst != operands[0])
	emit_move_insn (operands[0], dst);
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	226)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:156 */
rtx
gen_atomic_loadsi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 162 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  /* For DImode on 32-bit, we can use the FPU to perform the load.  */
  if (SImode == DImode && !TARGET_64BIT)
    emit_insn (gen_atomic_loaddi_fpu
	       (operands[0], operands[1],
	        assign_386_stack_local (DImode, SLOT_TEMP)));
  else
    {
      rtx dst = operands[0];

      if (MEM_P (dst))
	dst = gen_reg_rtx (SImode);

      emit_move_insn (dst, operands[1]);

      /* Fix up the destination if needed.  */
      if (dst != operands[0])
	emit_move_insn (operands[0], dst);
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	226)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:156 */
rtx
gen_atomic_loaddi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 162 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  /* For DImode on 32-bit, we can use the FPU to perform the load.  */
  if (DImode == DImode && !TARGET_64BIT)
    emit_insn (gen_atomic_loaddi_fpu
	       (operands[0], operands[1],
	        assign_386_stack_local (DImode, SLOT_TEMP)));
  else
    {
      rtx dst = operands[0];

      if (MEM_P (dst))
	dst = gen_reg_rtx (DImode);

      emit_move_insn (dst, operands[1]);

      /* Fix up the destination if needed.  */
      if (dst != operands[0])
	emit_move_insn (operands[0], dst);
    }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	226)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:184 */
extern rtx_insn *gen_split_2741 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2741 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2741 (sync.md:184)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 194 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  rtx dst = operands[0], src = operands[1];
  rtx mem = operands[2], tmp = operands[3];

  if (SSE_REG_P (dst))
    emit_move_insn (dst, src);
  else
    {
      if (MEM_P (dst))
	mem = dst;

      if (STACK_REG_P (tmp))
        {
	  emit_insn (gen_loaddi_via_fpu (tmp, src));
	  emit_insn (gen_storedi_via_fpu (mem, tmp));
	}
      else
	{
	  emit_insn (gen_loaddi_via_sse (tmp, src));
	  emit_insn (gen_storedi_via_sse (mem, tmp));
	}

      if (mem != dst)
	emit_move_insn (dst, mem);
    }
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:222 */
rtx
gen_atomic_storeqi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 228 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  enum memmodel model = memmodel_from_int (INTVAL (operands[2]));

  if (QImode == DImode && !TARGET_64BIT)
    {
      /* For DImode on 32-bit, we can use the FPU to perform the store.  */
      /* Note that while we could perform a cmpxchg8b loop, that turns
	 out to be significantly larger than this plus a barrier.  */
      emit_insn (gen_atomic_storedi_fpu
		 (operands[0], operands[1],
	          assign_386_stack_local (DImode, SLOT_TEMP)));
    }
  else
    {
      operands[1] = force_reg (QImode, operands[1]);

      /* For seq-cst stores, use XCHG when we lack MFENCE.  */
      if (is_mm_seq_cst (model)
	  && (!(TARGET_64BIT || TARGET_SSE2)
	      || TARGET_AVOID_MFENCE))
	{
	  emit_insn (gen_atomic_exchangeqi (gen_reg_rtx (QImode),
						operands[0], operands[1],
						operands[2]));
	  DONE;
	}

      /* Otherwise use a store.  */
      emit_insn (gen_atomic_storeqi_1 (operands[0], operands[1],
					   operands[2]));
    }
  /* ... followed by an MFENCE, if required.  */
  if (is_mm_seq_cst (model))
    emit_insn (gen_mem_thread_fence (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (QImode,
	gen_rtvec (2,
		operand1,
		operand2),
	227)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:222 */
rtx
gen_atomic_storehi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 228 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  enum memmodel model = memmodel_from_int (INTVAL (operands[2]));

  if (HImode == DImode && !TARGET_64BIT)
    {
      /* For DImode on 32-bit, we can use the FPU to perform the store.  */
      /* Note that while we could perform a cmpxchg8b loop, that turns
	 out to be significantly larger than this plus a barrier.  */
      emit_insn (gen_atomic_storedi_fpu
		 (operands[0], operands[1],
	          assign_386_stack_local (DImode, SLOT_TEMP)));
    }
  else
    {
      operands[1] = force_reg (HImode, operands[1]);

      /* For seq-cst stores, use XCHG when we lack MFENCE.  */
      if (is_mm_seq_cst (model)
	  && (!(TARGET_64BIT || TARGET_SSE2)
	      || TARGET_AVOID_MFENCE))
	{
	  emit_insn (gen_atomic_exchangehi (gen_reg_rtx (HImode),
						operands[0], operands[1],
						operands[2]));
	  DONE;
	}

      /* Otherwise use a store.  */
      emit_insn (gen_atomic_storehi_1 (operands[0], operands[1],
					   operands[2]));
    }
  /* ... followed by an MFENCE, if required.  */
  if (is_mm_seq_cst (model))
    emit_insn (gen_mem_thread_fence (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (HImode,
	gen_rtvec (2,
		operand1,
		operand2),
	227)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:222 */
rtx
gen_atomic_storesi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 228 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  enum memmodel model = memmodel_from_int (INTVAL (operands[2]));

  if (SImode == DImode && !TARGET_64BIT)
    {
      /* For DImode on 32-bit, we can use the FPU to perform the store.  */
      /* Note that while we could perform a cmpxchg8b loop, that turns
	 out to be significantly larger than this plus a barrier.  */
      emit_insn (gen_atomic_storedi_fpu
		 (operands[0], operands[1],
	          assign_386_stack_local (DImode, SLOT_TEMP)));
    }
  else
    {
      operands[1] = force_reg (SImode, operands[1]);

      /* For seq-cst stores, use XCHG when we lack MFENCE.  */
      if (is_mm_seq_cst (model)
	  && (!(TARGET_64BIT || TARGET_SSE2)
	      || TARGET_AVOID_MFENCE))
	{
	  emit_insn (gen_atomic_exchangesi (gen_reg_rtx (SImode),
						operands[0], operands[1],
						operands[2]));
	  DONE;
	}

      /* Otherwise use a store.  */
      emit_insn (gen_atomic_storesi_1 (operands[0], operands[1],
					   operands[2]));
    }
  /* ... followed by an MFENCE, if required.  */
  if (is_mm_seq_cst (model))
    emit_insn (gen_mem_thread_fence (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (SImode,
	gen_rtvec (2,
		operand1,
		operand2),
	227)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:222 */
rtx
gen_atomic_storedi (rtx operand0,
	rtx operand1,
	rtx operand2)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[3];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 228 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  enum memmodel model = memmodel_from_int (INTVAL (operands[2]));

  if (DImode == DImode && !TARGET_64BIT)
    {
      /* For DImode on 32-bit, we can use the FPU to perform the store.  */
      /* Note that while we could perform a cmpxchg8b loop, that turns
	 out to be significantly larger than this plus a barrier.  */
      emit_insn (gen_atomic_storedi_fpu
		 (operands[0], operands[1],
	          assign_386_stack_local (DImode, SLOT_TEMP)));
    }
  else
    {
      operands[1] = force_reg (DImode, operands[1]);

      /* For seq-cst stores, use XCHG when we lack MFENCE.  */
      if (is_mm_seq_cst (model)
	  && (!(TARGET_64BIT || TARGET_SSE2)
	      || TARGET_AVOID_MFENCE))
	{
	  emit_insn (gen_atomic_exchangedi (gen_reg_rtx (DImode),
						operands[0], operands[1],
						operands[2]));
	  DONE;
	}

      /* Otherwise use a store.  */
      emit_insn (gen_atomic_storedi_1 (operands[0], operands[1],
					   operands[2]));
    }
  /* ... followed by an MFENCE, if required.  */
  if (is_mm_seq_cst (model))
    emit_insn (gen_mem_thread_fence (operands[2]));
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
  }
  emit_insn (gen_rtx_SET (operand0,
	gen_rtx_UNSPEC (DImode,
	gen_rtvec (2,
		operand1,
		operand2),
	227)));
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:273 */
extern rtx_insn *gen_split_2742 (rtx_insn *, rtx *);
rtx_insn *
gen_split_2742 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands ATTRIBUTE_UNUSED)
{
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_split_2742 (sync.md:273)\n");
  start_sequence ();
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 283 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  rtx dst = operands[0], src = operands[1];
  rtx mem = operands[2], tmp = operands[3];

  if (SSE_REG_P (src))
    emit_move_insn (dst, src);
  else
    {
      if (REG_P (src))
	{
	  emit_move_insn (mem, src);
	  src = mem;
	}

      if (STACK_REG_P (tmp))
	{
	  emit_insn (gen_loaddi_via_fpu (tmp, src));
	  emit_insn (gen_storedi_via_fpu (dst, tmp));
	}
      else
	{
	  emit_insn (gen_loaddi_via_sse (tmp, src));
	  emit_insn (gen_storedi_via_sse (dst, tmp));
	}
    }
  DONE;
}
#undef DONE
#undef FAIL
  emit_insn (const0_rtx);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:365 */
rtx
gen_atomic_compare_and_swapqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5,
	rtx operand6,
	rtx operand7)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
    operands[6] = operand6;
    operands[7] = operand7;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 375 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  if (TARGET_RELAX_CMPXCHG_LOOP)
  {
    ix86_expand_cmpxchg_loop (&operands[0], operands[1], operands[2],
			      operands[3], operands[4], operands[6],
			      false, NULL);
  }
  else
  {
    emit_insn
      (gen_atomic_compare_and_swapqi_1
	(operands[1], operands[2], operands[3], operands[4], operands[6]));
      ix86_expand_setcc (operands[0], EQ, gen_rtx_REG (CCZmode, FLAGS_REG),
			const0_rtx);
  }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
    operand7 = operands[7];
    (void) operand7;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, true);
  emit (operand6, true);
  emit (operand7, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:365 */
rtx
gen_atomic_compare_and_swaphi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5,
	rtx operand6,
	rtx operand7)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
    operands[6] = operand6;
    operands[7] = operand7;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 375 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  if (TARGET_RELAX_CMPXCHG_LOOP)
  {
    ix86_expand_cmpxchg_loop (&operands[0], operands[1], operands[2],
			      operands[3], operands[4], operands[6],
			      false, NULL);
  }
  else
  {
    emit_insn
      (gen_atomic_compare_and_swaphi_1
	(operands[1], operands[2], operands[3], operands[4], operands[6]));
      ix86_expand_setcc (operands[0], EQ, gen_rtx_REG (CCZmode, FLAGS_REG),
			const0_rtx);
  }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
    operand7 = operands[7];
    (void) operand7;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, true);
  emit (operand6, true);
  emit (operand7, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:365 */
rtx
gen_atomic_compare_and_swapsi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5,
	rtx operand6,
	rtx operand7)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
    operands[6] = operand6;
    operands[7] = operand7;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 375 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  if (TARGET_RELAX_CMPXCHG_LOOP)
  {
    ix86_expand_cmpxchg_loop (&operands[0], operands[1], operands[2],
			      operands[3], operands[4], operands[6],
			      false, NULL);
  }
  else
  {
    emit_insn
      (gen_atomic_compare_and_swapsi_1
	(operands[1], operands[2], operands[3], operands[4], operands[6]));
      ix86_expand_setcc (operands[0], EQ, gen_rtx_REG (CCZmode, FLAGS_REG),
			const0_rtx);
  }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
    operand7 = operands[7];
    (void) operand7;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, true);
  emit (operand6, true);
  emit (operand7, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:398 */
rtx
gen_atomic_compare_and_swapdi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5,
	rtx operand6,
	rtx operand7)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
    operands[6] = operand6;
    operands[7] = operand7;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 408 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  int doubleword = !(DImode == DImode && TARGET_64BIT);
  if (TARGET_RELAX_CMPXCHG_LOOP)
  {
    ix86_expand_cmpxchg_loop (&operands[0], operands[1], operands[2],
			      operands[3], operands[4], operands[6],
			      doubleword, NULL);
  }
  else
  {
    if (!doubleword)
      {
	emit_insn
	  (gen_atomic_compare_and_swapdi_1
	   (operands[1], operands[2], operands[3], operands[4], operands[6]));
      }
    else
      {
	machine_mode hmode = SImode;

	emit_insn
	  (gen_atomic_compare_and_swapdi_doubleword
	   (operands[1], operands[2], operands[3],
	    gen_lowpart (hmode, operands[4]), gen_highpart (hmode, operands[4]),
	    operands[6]));
      }

    ix86_expand_setcc (operands[0], EQ, gen_rtx_REG (CCZmode, FLAGS_REG),
		       const0_rtx);
  }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
    operand7 = operands[7];
    (void) operand7;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, true);
  emit (operand6, true);
  emit (operand7, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:398 */
rtx
gen_atomic_compare_and_swapti (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4,
	rtx operand5,
	rtx operand6,
	rtx operand7)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[8];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
    operands[5] = operand5;
    operands[6] = operand6;
    operands[7] = operand7;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 408 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  int doubleword = !(TImode == DImode && TARGET_64BIT);
  if (TARGET_RELAX_CMPXCHG_LOOP)
  {
    ix86_expand_cmpxchg_loop (&operands[0], operands[1], operands[2],
			      operands[3], operands[4], operands[6],
			      doubleword, NULL);
  }
  else
  {
    if (!doubleword)
      {
	emit_insn
	  (gen_atomic_compare_and_swapdi_1
	   (operands[1], operands[2], operands[3], operands[4], operands[6]));
      }
    else
      {
	machine_mode hmode = DImode;

	emit_insn
	  (gen_atomic_compare_and_swapti_doubleword
	   (operands[1], operands[2], operands[3],
	    gen_lowpart (hmode, operands[4]), gen_highpart (hmode, operands[4]),
	    operands[6]));
      }

    ix86_expand_setcc (operands[0], EQ, gen_rtx_REG (CCZmode, FLAGS_REG),
		       const0_rtx);
  }
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
    operand5 = operands[5];
    (void) operand5;
    operand6 = operands[6];
    (void) operand6;
    operand7 = operands[7];
    (void) operand7;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, true);
  emit (operand5, true);
  emit (operand6, true);
  emit (operand7, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:478 */
extern rtx_insn *gen_peephole2_300 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_300 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_300 (sync.md:478)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (4,
		operand2,
		copy_rtx (operand0),
		operand3,
		operand4),
	105)),
		gen_rtx_SET (copy_rtx (operand2),
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (1,
		const0_rtx),
	105)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (1,
		const0_rtx),
	105)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:478 */
extern rtx_insn *gen_peephole2_301 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_301 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_301 (sync.md:478)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (4,
		operand2,
		copy_rtx (operand0),
		operand3,
		operand4),
	105)),
		gen_rtx_SET (copy_rtx (operand2),
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (1,
		const0_rtx),
	105)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (1,
		const0_rtx),
	105)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:478 */
extern rtx_insn *gen_peephole2_302 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_302 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_302 (sync.md:478)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (4,
		operand2,
		copy_rtx (operand0),
		operand3,
		operand4),
	105)),
		gen_rtx_SET (copy_rtx (operand2),
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (1,
		const0_rtx),
	105)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (1,
		const0_rtx),
	105)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:478 */
extern rtx_insn *gen_peephole2_303 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_303 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_303 (sync.md:478)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit_insn (gen_rtx_SET (operand0,
	operand1));
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (copy_rtx (operand0),
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (4,
		operand2,
		copy_rtx (operand0),
		operand3,
		operand4),
	105)),
		gen_rtx_SET (copy_rtx (operand2),
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		const0_rtx),
	105)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (1,
		const0_rtx),
	105)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:513 */
extern rtx_insn *gen_peephole2_304 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_304 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_304 (sync.md:513)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	operand1),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand2,
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (4,
		operand3,
		copy_rtx (operand2),
		operand4,
		operand5),
	105)),
		gen_rtx_SET (copy_rtx (operand3),
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (1,
		const0_rtx),
	105)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (1,
		const0_rtx),
	105)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:513 */
extern rtx_insn *gen_peephole2_305 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_305 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_305 (sync.md:513)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	operand1),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand2,
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (4,
		operand3,
		copy_rtx (operand2),
		operand4,
		operand5),
	105)),
		gen_rtx_SET (copy_rtx (operand3),
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (1,
		const0_rtx),
	105)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (1,
		const0_rtx),
	105)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:513 */
extern rtx_insn *gen_peephole2_306 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_306 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_306 (sync.md:513)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	operand1),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand2,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (4,
		operand3,
		copy_rtx (operand2),
		operand4,
		operand5),
	105)),
		gen_rtx_SET (copy_rtx (operand3),
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (1,
		const0_rtx),
	105)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (1,
		const0_rtx),
	105)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:513 */
extern rtx_insn *gen_peephole2_307 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_307 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_307 (sync.md:513)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	operand1),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand2,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (4,
		operand3,
		copy_rtx (operand2),
		operand4,
		operand5),
	105)),
		gen_rtx_SET (copy_rtx (operand3),
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (1,
		const0_rtx),
	105)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (1,
		const0_rtx),
	105)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:513 */
extern rtx_insn *gen_peephole2_308 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_308 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_308 (sync.md:513)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	operand1),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand2,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (4,
		operand3,
		copy_rtx (operand2),
		operand4,
		operand5),
	105)),
		gen_rtx_SET (copy_rtx (operand3),
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (1,
		const0_rtx),
	105)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (1,
		const0_rtx),
	105)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:513 */
extern rtx_insn *gen_peephole2_309 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_309 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_309 (sync.md:513)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	operand1),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand2,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (4,
		operand3,
		copy_rtx (operand2),
		operand4,
		operand5),
	105)),
		gen_rtx_SET (copy_rtx (operand3),
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (1,
		const0_rtx),
	105)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (1,
		const0_rtx),
	105)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:513 */
extern rtx_insn *gen_peephole2_310 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_310 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_310 (sync.md:513)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	operand1),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand2,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (4,
		operand3,
		copy_rtx (operand2),
		operand4,
		operand5),
	105)),
		gen_rtx_SET (copy_rtx (operand3),
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		const0_rtx),
	105)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (1,
		const0_rtx),
	105)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:513 */
extern rtx_insn *gen_peephole2_311 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_311 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx operand5;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_311 (sync.md:513)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  operand5 = operands[5];
  (void) operand5;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (operand0,
	operand1),
		gen_hard_reg_clobber (CCmode, 17))), true);
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (3,
		gen_rtx_SET (operand2,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (4,
		operand3,
		copy_rtx (operand2),
		operand4,
		operand5),
	105)),
		gen_rtx_SET (copy_rtx (operand3),
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (1,
		const0_rtx),
	105)),
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_UNSPEC_VOLATILE (CCZmode,
	gen_rtvec (1,
		const0_rtx),
	105)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:547 */
rtx
gen_atomic_fetch_andqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], AND, false,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_AND (QImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:547 */
rtx
gen_atomic_fetch_orqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], IOR, false,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_IOR (QImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:547 */
rtx
gen_atomic_fetch_xorqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], XOR, false,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_XOR (QImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:547 */
rtx
gen_atomic_fetch_andhi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], AND, false,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_AND (HImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:547 */
rtx
gen_atomic_fetch_orhi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], IOR, false,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_IOR (HImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:547 */
rtx
gen_atomic_fetch_xorhi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], XOR, false,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_XOR (HImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:547 */
rtx
gen_atomic_fetch_andsi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], AND, false,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_AND (SImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:547 */
rtx
gen_atomic_fetch_orsi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], IOR, false,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_IOR (SImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:547 */
rtx
gen_atomic_fetch_xorsi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 554 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], XOR, false,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_XOR (SImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:561 */
rtx
gen_atomic_and_fetchqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 568 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], AND, true,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_AND (QImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:561 */
rtx
gen_atomic_or_fetchqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 568 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], IOR, true,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_IOR (QImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:561 */
rtx
gen_atomic_xor_fetchqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 568 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], XOR, true,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_XOR (QImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:561 */
rtx
gen_atomic_and_fetchhi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 568 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], AND, true,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_AND (HImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:561 */
rtx
gen_atomic_or_fetchhi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 568 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], IOR, true,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_IOR (HImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:561 */
rtx
gen_atomic_xor_fetchhi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 568 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], XOR, true,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_XOR (HImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:561 */
rtx
gen_atomic_and_fetchsi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 568 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], AND, true,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_AND (SImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:561 */
rtx
gen_atomic_or_fetchsi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 568 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], IOR, true,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_IOR (SImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:561 */
rtx
gen_atomic_xor_fetchsi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 568 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], XOR, true,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_XOR (SImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:575 */
rtx
gen_atomic_fetch_nandqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 581 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], NOT, false,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:575 */
rtx
gen_atomic_fetch_nandhi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 581 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], NOT, false,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:575 */
rtx
gen_atomic_fetch_nandsi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 581 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], NOT, false,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:588 */
rtx
gen_atomic_nand_fetchqi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 594 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], NOT, true,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:588 */
rtx
gen_atomic_nand_fetchhi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 594 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], NOT, true,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:588 */
rtx
gen_atomic_nand_fetchsi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 594 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], NOT, true,
				    false);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:601 */
rtx
gen_atomic_fetch_anddi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 608 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  bool doubleword = (DImode == DImode && !TARGET_64BIT)
		    || (DImode == TImode);
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], AND, false,
				    doubleword);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_AND (DImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:601 */
rtx
gen_atomic_fetch_ordi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 608 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  bool doubleword = (DImode == DImode && !TARGET_64BIT)
		    || (DImode == TImode);
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], IOR, false,
				    doubleword);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_IOR (DImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:601 */
rtx
gen_atomic_fetch_xordi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 608 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  bool doubleword = (DImode == DImode && !TARGET_64BIT)
		    || (DImode == TImode);
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], XOR, false,
				    doubleword);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_XOR (DImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:601 */
rtx
gen_atomic_fetch_andti (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 608 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  bool doubleword = (TImode == DImode && !TARGET_64BIT)
		    || (TImode == TImode);
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], AND, false,
				    doubleword);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_AND (TImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:601 */
rtx
gen_atomic_fetch_orti (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 608 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  bool doubleword = (TImode == DImode && !TARGET_64BIT)
		    || (TImode == TImode);
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], IOR, false,
				    doubleword);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_IOR (TImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:601 */
rtx
gen_atomic_fetch_xorti (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 608 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  bool doubleword = (TImode == DImode && !TARGET_64BIT)
		    || (TImode == TImode);
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], XOR, false,
				    doubleword);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_XOR (TImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:617 */
rtx
gen_atomic_and_fetchdi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 624 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  bool doubleword = (DImode == DImode && !TARGET_64BIT)
		    || (DImode == TImode);
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], AND, true,
				    doubleword);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_AND (DImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:617 */
rtx
gen_atomic_or_fetchdi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 624 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  bool doubleword = (DImode == DImode && !TARGET_64BIT)
		    || (DImode == TImode);
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], IOR, true,
				    doubleword);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_IOR (DImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:617 */
rtx
gen_atomic_xor_fetchdi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 624 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  bool doubleword = (DImode == DImode && !TARGET_64BIT)
		    || (DImode == TImode);
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], XOR, true,
				    doubleword);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_XOR (DImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:617 */
rtx
gen_atomic_and_fetchti (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 624 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  bool doubleword = (TImode == DImode && !TARGET_64BIT)
		    || (TImode == TImode);
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], AND, true,
				    doubleword);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_AND (TImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:617 */
rtx
gen_atomic_or_fetchti (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 624 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  bool doubleword = (TImode == DImode && !TARGET_64BIT)
		    || (TImode == TImode);
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], IOR, true,
				    doubleword);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_IOR (TImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:617 */
rtx
gen_atomic_xor_fetchti (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 624 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  bool doubleword = (TImode == DImode && !TARGET_64BIT)
		    || (TImode == TImode);
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], XOR, true,
				    doubleword);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_XOR (TImode,
	operand1,
	operand2));
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:633 */
rtx
gen_atomic_fetch_nanddi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 639 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  bool doubleword = (DImode == DImode && !TARGET_64BIT)
		    || (DImode == TImode);
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], NOT, false,
				    doubleword);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:633 */
rtx
gen_atomic_fetch_nandti (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 639 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  bool doubleword = (TImode == DImode && !TARGET_64BIT)
		    || (TImode == TImode);
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], NOT, false,
				    doubleword);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:648 */
rtx
gen_atomic_nand_fetchdi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 654 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  bool doubleword = (DImode == DImode && !TARGET_64BIT)
		    || (DImode == TImode);
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], NOT, true,
				    doubleword);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:648 */
rtx
gen_atomic_nand_fetchti (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[4];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 654 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  bool doubleword = (TImode == DImode && !TARGET_64BIT)
		    || (TImode == TImode);
  ix86_expand_atomic_fetch_op_loop (operands[0], operands[1],
				    operands[2], NOT, true,
				    doubleword);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:683 */
extern rtx_insn *gen_peephole2_312 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_312 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_312 (sync.md:683)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (2,
		operand1,
		operand4),
	106),
	operand3)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_PLUS (QImode,
	copy_rtx (operand1),
	operand2)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:683 */
extern rtx_insn *gen_peephole2_313 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_313 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_313 (sync.md:683)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (2,
		operand1,
		operand4),
	106),
	operand3)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_PLUS (HImode,
	copy_rtx (operand1),
	operand2)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:683 */
extern rtx_insn *gen_peephole2_314 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_314 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_314 (sync.md:683)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (2,
		operand1,
		operand4),
	106),
	operand3)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_PLUS (SImode,
	copy_rtx (operand1),
	operand2)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:683 */
extern rtx_insn *gen_peephole2_315 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_315 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_315 (sync.md:683)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (2,
		operand1,
		operand4),
	106),
	operand3)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_PLUS (DImode,
	copy_rtx (operand1),
	operand2)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:712 */
extern rtx_insn *gen_peephole2_316 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_316 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_316 (sync.md:712)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	gen_rtx_UNSPEC_VOLATILE (QImode,
	gen_rtvec (2,
		operand1,
		operand4),
	106),
	operand3)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_PLUS (QImode,
	copy_rtx (operand1),
	operand2)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:712 */
extern rtx_insn *gen_peephole2_317 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_317 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_317 (sync.md:712)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	gen_rtx_UNSPEC_VOLATILE (HImode,
	gen_rtvec (2,
		operand1,
		operand4),
	106),
	operand3)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_PLUS (HImode,
	copy_rtx (operand1),
	operand2)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:712 */
extern rtx_insn *gen_peephole2_318 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_318 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_318 (sync.md:712)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	gen_rtx_UNSPEC_VOLATILE (SImode,
	gen_rtvec (2,
		operand1,
		operand4),
	106),
	operand3)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_PLUS (SImode,
	copy_rtx (operand1),
	operand2)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:712 */
extern rtx_insn *gen_peephole2_319 (rtx_insn *, rtx *);
rtx_insn *
gen_peephole2_319 (rtx_insn *curr_insn ATTRIBUTE_UNUSED, rtx *operands)
{
  rtx operand0;
  rtx operand1;
  rtx operand2;
  rtx operand3;
  rtx operand4;
  rtx_insn *_val = NULL;
  if (dump_file)
    fprintf (dump_file, "Splitting with gen_peephole2_319 (sync.md:712)\n");
  start_sequence ();
  operand0 = operands[0];
  (void) operand0;
  operand1 = operands[1];
  (void) operand1;
  operand2 = operands[2];
  (void) operand2;
  operand3 = operands[3];
  (void) operand3;
  operand4 = operands[4];
  (void) operand4;
  emit (gen_rtx_PARALLEL (VOIDmode,
	gen_rtvec (2,
		gen_rtx_SET (gen_rtx_REG (CCZmode,
	17),
	gen_rtx_COMPARE (CCZmode,
	gen_rtx_UNSPEC_VOLATILE (DImode,
	gen_rtvec (2,
		operand1,
		operand4),
	106),
	operand3)),
		gen_rtx_SET (copy_rtx (operand1),
	gen_rtx_PLUS (DImode,
	copy_rtx (operand1),
	operand2)))), false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:850 */
rtx
gen_atomic_bit_test_and_sethi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 857 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  emit_insn (gen_atomic_bit_test_and_sethi_1 (operands[1], operands[2],
						  operands[3]));
  rtx tem = gen_reg_rtx (QImode);
  ix86_expand_setcc (tem, EQ, gen_rtx_REG (CCCmode, FLAGS_REG), const0_rtx);
  rtx result = convert_modes (HImode, QImode, tem, 1);
  if (operands[4] == const0_rtx)
    result = expand_simple_binop (HImode, ASHIFT, result,
				  operands[2], operands[0], 0, OPTAB_WIDEN);
  if (result != operands[0])
    emit_move_insn (operands[0], result);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:850 */
rtx
gen_atomic_bit_test_and_setsi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 857 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  emit_insn (gen_atomic_bit_test_and_setsi_1 (operands[1], operands[2],
						  operands[3]));
  rtx tem = gen_reg_rtx (QImode);
  ix86_expand_setcc (tem, EQ, gen_rtx_REG (CCCmode, FLAGS_REG), const0_rtx);
  rtx result = convert_modes (SImode, QImode, tem, 1);
  if (operands[4] == const0_rtx)
    result = expand_simple_binop (SImode, ASHIFT, result,
				  operands[2], operands[0], 0, OPTAB_WIDEN);
  if (result != operands[0])
    emit_move_insn (operands[0], result);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:850 */
rtx
gen_atomic_bit_test_and_setdi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 857 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  emit_insn (gen_atomic_bit_test_and_setdi_1 (operands[1], operands[2],
						  operands[3]));
  rtx tem = gen_reg_rtx (QImode);
  ix86_expand_setcc (tem, EQ, gen_rtx_REG (CCCmode, FLAGS_REG), const0_rtx);
  rtx result = convert_modes (DImode, QImode, tem, 1);
  if (operands[4] == const0_rtx)
    result = expand_simple_binop (DImode, ASHIFT, result,
				  operands[2], operands[0], 0, OPTAB_WIDEN);
  if (result != operands[0])
    emit_move_insn (operands[0], result);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:886 */
rtx
gen_atomic_bit_test_and_complementhi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 893 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  emit_insn (gen_atomic_bit_test_and_complementhi_1 (operands[1],
							 operands[2],
							 operands[3]));
  rtx tem = gen_reg_rtx (QImode);
  ix86_expand_setcc (tem, EQ, gen_rtx_REG (CCCmode, FLAGS_REG), const0_rtx);
  rtx result = convert_modes (HImode, QImode, tem, 1);
  if (operands[4] == const0_rtx)
    result = expand_simple_binop (HImode, ASHIFT, result,
				  operands[2], operands[0], 0, OPTAB_WIDEN);
  if (result != operands[0])
    emit_move_insn (operands[0], result);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:886 */
rtx
gen_atomic_bit_test_and_complementsi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 893 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  emit_insn (gen_atomic_bit_test_and_complementsi_1 (operands[1],
							 operands[2],
							 operands[3]));
  rtx tem = gen_reg_rtx (QImode);
  ix86_expand_setcc (tem, EQ, gen_rtx_REG (CCCmode, FLAGS_REG), const0_rtx);
  rtx result = convert_modes (SImode, QImode, tem, 1);
  if (operands[4] == const0_rtx)
    result = expand_simple_binop (SImode, ASHIFT, result,
				  operands[2], operands[0], 0, OPTAB_WIDEN);
  if (result != operands[0])
    emit_move_insn (operands[0], result);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:886 */
rtx
gen_atomic_bit_test_and_complementdi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 893 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  emit_insn (gen_atomic_bit_test_and_complementdi_1 (operands[1],
							 operands[2],
							 operands[3]));
  rtx tem = gen_reg_rtx (QImode);
  ix86_expand_setcc (tem, EQ, gen_rtx_REG (CCCmode, FLAGS_REG), const0_rtx);
  rtx result = convert_modes (DImode, QImode, tem, 1);
  if (operands[4] == const0_rtx)
    result = expand_simple_binop (DImode, ASHIFT, result,
				  operands[2], operands[0], 0, OPTAB_WIDEN);
  if (result != operands[0])
    emit_move_insn (operands[0], result);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:925 */
rtx
gen_atomic_bit_test_and_resethi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 932 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  emit_insn (gen_atomic_bit_test_and_resethi_1 (operands[1], operands[2],
						    operands[3]));
  rtx tem = gen_reg_rtx (QImode);
  ix86_expand_setcc (tem, EQ, gen_rtx_REG (CCCmode, FLAGS_REG), const0_rtx);
  rtx result = convert_modes (HImode, QImode, tem, 1);
  if (operands[4] == const0_rtx)
    result = expand_simple_binop (HImode, ASHIFT, result,
				  operands[2], operands[0], 0, OPTAB_WIDEN);
  if (result != operands[0])
    emit_move_insn (operands[0], result);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:925 */
rtx
gen_atomic_bit_test_and_resetsi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 932 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  emit_insn (gen_atomic_bit_test_and_resetsi_1 (operands[1], operands[2],
						    operands[3]));
  rtx tem = gen_reg_rtx (QImode);
  ix86_expand_setcc (tem, EQ, gen_rtx_REG (CCCmode, FLAGS_REG), const0_rtx);
  rtx result = convert_modes (SImode, QImode, tem, 1);
  if (operands[4] == const0_rtx)
    result = expand_simple_binop (SImode, ASHIFT, result,
				  operands[2], operands[0], 0, OPTAB_WIDEN);
  if (result != operands[0])
    emit_move_insn (operands[0], result);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:925 */
rtx
gen_atomic_bit_test_and_resetdi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 932 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  emit_insn (gen_atomic_bit_test_and_resetdi_1 (operands[1], operands[2],
						    operands[3]));
  rtx tem = gen_reg_rtx (QImode);
  ix86_expand_setcc (tem, EQ, gen_rtx_REG (CCCmode, FLAGS_REG), const0_rtx);
  rtx result = convert_modes (DImode, QImode, tem, 1);
  if (operands[4] == const0_rtx)
    result = expand_simple_binop (DImode, ASHIFT, result,
				  operands[2], operands[0], 0, OPTAB_WIDEN);
  if (result != operands[0])
    emit_move_insn (operands[0], result);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit (operand1, true);
  emit (operand2, true);
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:961 */
rtx
gen_atomic_add_fetch_cmp_0qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  if (INTVAL (operands[4]) == GT || INTVAL (operands[4]) == LE)
    FAIL;
  emit_insn (gen_atomic_add_fetch_cmp_0qi_1 (operands[1],
								  operands[2],
								  operands[3]));
  ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
		     gen_rtx_REG (CCGOCmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_PLUS (QImode,
	operand1,
	operand2));
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:961 */
rtx
gen_atomic_sub_fetch_cmp_0qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  if (INTVAL (operands[4]) == GT || INTVAL (operands[4]) == LE)
    FAIL;
  emit_insn (gen_atomic_sub_fetch_cmp_0qi_1 (operands[1],
								  operands[2],
								  operands[3]));
  ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
		     gen_rtx_REG (CCGOCmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_MINUS (QImode,
	operand1,
	operand2));
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:961 */
rtx
gen_atomic_add_fetch_cmp_0hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  if (INTVAL (operands[4]) == GT || INTVAL (operands[4]) == LE)
    FAIL;
  emit_insn (gen_atomic_add_fetch_cmp_0hi_1 (operands[1],
								  operands[2],
								  operands[3]));
  ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
		     gen_rtx_REG (CCGOCmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_PLUS (HImode,
	operand1,
	operand2));
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:961 */
rtx
gen_atomic_sub_fetch_cmp_0hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  if (INTVAL (operands[4]) == GT || INTVAL (operands[4]) == LE)
    FAIL;
  emit_insn (gen_atomic_sub_fetch_cmp_0hi_1 (operands[1],
								  operands[2],
								  operands[3]));
  ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
		     gen_rtx_REG (CCGOCmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_MINUS (HImode,
	operand1,
	operand2));
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:961 */
rtx
gen_atomic_add_fetch_cmp_0si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  if (INTVAL (operands[4]) == GT || INTVAL (operands[4]) == LE)
    FAIL;
  emit_insn (gen_atomic_add_fetch_cmp_0si_1 (operands[1],
								  operands[2],
								  operands[3]));
  ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
		     gen_rtx_REG (CCGOCmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_PLUS (SImode,
	operand1,
	operand2));
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:961 */
rtx
gen_atomic_sub_fetch_cmp_0si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  if (INTVAL (operands[4]) == GT || INTVAL (operands[4]) == LE)
    FAIL;
  emit_insn (gen_atomic_sub_fetch_cmp_0si_1 (operands[1],
								  operands[2],
								  operands[3]));
  ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
		     gen_rtx_REG (CCGOCmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_MINUS (SImode,
	operand1,
	operand2));
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:961 */
rtx
gen_atomic_add_fetch_cmp_0di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  if (INTVAL (operands[4]) == GT || INTVAL (operands[4]) == LE)
    FAIL;
  emit_insn (gen_atomic_add_fetch_cmp_0di_1 (operands[1],
								  operands[2],
								  operands[3]));
  ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
		     gen_rtx_REG (CCGOCmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_PLUS (DImode,
	operand1,
	operand2));
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:961 */
rtx
gen_atomic_sub_fetch_cmp_0di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 968 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  if (INTVAL (operands[4]) == GT || INTVAL (operands[4]) == LE)
    FAIL;
  emit_insn (gen_atomic_sub_fetch_cmp_0di_1 (operands[1],
								  operands[2],
								  operands[3]));
  ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
		     gen_rtx_REG (CCGOCmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_MINUS (DImode,
	operand1,
	operand2));
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1035 */
rtx
gen_atomic_and_fetch_cmp_0qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1042 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  emit_insn (gen_atomic_and_fetch_cmp_0qi_1 (operands[1], operands[2],
						     operands[3]));
  ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
		     gen_rtx_REG (CCNOmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_AND (QImode,
	operand1,
	operand2));
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1035 */
rtx
gen_atomic_or_fetch_cmp_0qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1042 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  emit_insn (gen_atomic_or_fetch_cmp_0qi_1 (operands[1], operands[2],
						     operands[3]));
  ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
		     gen_rtx_REG (CCNOmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_IOR (QImode,
	operand1,
	operand2));
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1035 */
rtx
gen_atomic_xor_fetch_cmp_0qi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1042 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  emit_insn (gen_atomic_xor_fetch_cmp_0qi_1 (operands[1], operands[2],
						     operands[3]));
  ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
		     gen_rtx_REG (CCNOmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_XOR (QImode,
	operand1,
	operand2));
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1035 */
rtx
gen_atomic_and_fetch_cmp_0hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1042 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  emit_insn (gen_atomic_and_fetch_cmp_0hi_1 (operands[1], operands[2],
						     operands[3]));
  ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
		     gen_rtx_REG (CCNOmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_AND (HImode,
	operand1,
	operand2));
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1035 */
rtx
gen_atomic_or_fetch_cmp_0hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1042 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  emit_insn (gen_atomic_or_fetch_cmp_0hi_1 (operands[1], operands[2],
						     operands[3]));
  ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
		     gen_rtx_REG (CCNOmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_IOR (HImode,
	operand1,
	operand2));
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1035 */
rtx
gen_atomic_xor_fetch_cmp_0hi (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1042 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  emit_insn (gen_atomic_xor_fetch_cmp_0hi_1 (operands[1], operands[2],
						     operands[3]));
  ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
		     gen_rtx_REG (CCNOmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_XOR (HImode,
	operand1,
	operand2));
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1035 */
rtx
gen_atomic_and_fetch_cmp_0si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1042 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  emit_insn (gen_atomic_and_fetch_cmp_0si_1 (operands[1], operands[2],
						     operands[3]));
  ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
		     gen_rtx_REG (CCNOmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_AND (SImode,
	operand1,
	operand2));
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1035 */
rtx
gen_atomic_or_fetch_cmp_0si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1042 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  emit_insn (gen_atomic_or_fetch_cmp_0si_1 (operands[1], operands[2],
						     operands[3]));
  ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
		     gen_rtx_REG (CCNOmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_IOR (SImode,
	operand1,
	operand2));
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1035 */
rtx
gen_atomic_xor_fetch_cmp_0si (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1042 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  emit_insn (gen_atomic_xor_fetch_cmp_0si_1 (operands[1], operands[2],
						     operands[3]));
  ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
		     gen_rtx_REG (CCNOmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_XOR (SImode,
	operand1,
	operand2));
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1035 */
rtx
gen_atomic_and_fetch_cmp_0di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1042 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  emit_insn (gen_atomic_and_fetch_cmp_0di_1 (operands[1], operands[2],
						     operands[3]));
  ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
		     gen_rtx_REG (CCNOmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_AND (DImode,
	operand1,
	operand2));
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1035 */
rtx
gen_atomic_or_fetch_cmp_0di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1042 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  emit_insn (gen_atomic_or_fetch_cmp_0di_1 (operands[1], operands[2],
						     operands[3]));
  ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
		     gen_rtx_REG (CCNOmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_IOR (DImode,
	operand1,
	operand2));
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}

/* /build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md:1035 */
rtx
gen_atomic_xor_fetch_cmp_0di (rtx operand0,
	rtx operand1,
	rtx operand2,
	rtx operand3,
	rtx operand4)
{
  rtx_insn *_val = 0;
  start_sequence ();
  {
    rtx operands[5];
    operands[0] = operand0;
    operands[1] = operand1;
    operands[2] = operand2;
    operands[3] = operand3;
    operands[4] = operand4;
#define FAIL return (end_sequence (), _val)
#define DONE return (_val = get_insns (), end_sequence (), _val)
#line 1042 "/build/ghdl-gcc-git/src/gcc-12.4.0/gcc/config/i386/sync.md"
{
  emit_insn (gen_atomic_xor_fetch_cmp_0di_1 (operands[1], operands[2],
						     operands[3]));
  ix86_expand_setcc (operands[0], (enum rtx_code) INTVAL (operands[4]),
		     gen_rtx_REG (CCNOmode, FLAGS_REG), const0_rtx);
  DONE;
}
#undef DONE
#undef FAIL
    operand0 = operands[0];
    (void) operand0;
    operand1 = operands[1];
    (void) operand1;
    operand2 = operands[2];
    (void) operand2;
    operand3 = operands[3];
    (void) operand3;
    operand4 = operands[4];
    (void) operand4;
  }
  emit (operand0, true);
  emit_insn (gen_rtx_XOR (DImode,
	operand1,
	operand2));
  emit (operand3, true);
  emit (operand4, false);
  _val = get_insns ();
  end_sequence ();
  return _val;
}



void
add_clobbers (rtx pattern ATTRIBUTE_UNUSED, int insn_code_number)
{
  switch (insn_code_number)
    {
    case 8817:
    case 8812:
      XVECEXP (pattern, 0, 2) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (DFmode));
      break;

    case 8171:
    case 8170:
    case 8167:
    case 8166:
    case 8163:
    case 8155:
    case 8147:
    case 8139:
    case 8131:
    case 8123:
    case 8115:
    case 8107:
      XVECEXP (pattern, 0, 1) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V8SFmode));
      break;

    case 8169:
    case 8168:
    case 8165:
    case 8164:
    case 8162:
    case 8154:
    case 8146:
    case 8138:
    case 8130:
    case 8122:
    case 8114:
    case 8106:
      XVECEXP (pattern, 0, 1) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V8SImode));
      break;

    case 8159:
    case 8151:
    case 8143:
    case 8135:
    case 8127:
    case 8119:
    case 8111:
    case 8103:
      XVECEXP (pattern, 0, 1) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4DFmode));
      break;

    case 8158:
    case 8150:
    case 8142:
    case 8134:
    case 8126:
    case 8118:
    case 8110:
    case 8102:
      XVECEXP (pattern, 0, 1) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4DImode));
      break;

    case 8157:
    case 8149:
    case 8141:
    case 8133:
    case 8125:
    case 8117:
    case 8109:
    case 8101:
      XVECEXP (pattern, 0, 1) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V2DFmode));
      break;

    case 8156:
    case 8148:
    case 8140:
    case 8132:
    case 8124:
    case 8116:
    case 8108:
    case 8100:
      XVECEXP (pattern, 0, 1) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V2DImode));
      break;

    case 7445:
    case 7441:
      XVECEXP (pattern, 0, 1) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V16QImode));
      XVECEXP (pattern, 0, 2) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode));
      break;

    case 8161:
    case 8153:
    case 8145:
    case 8137:
    case 8129:
    case 8121:
    case 8113:
    case 8105:
    case 3786:
      XVECEXP (pattern, 0, 1) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4SFmode));
      break;

    case 8160:
    case 8152:
    case 8144:
    case 8136:
    case 8128:
    case 8120:
    case 8112:
    case 8104:
    case 7139:
    case 1810:
      XVECEXP (pattern, 0, 1) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4SImode));
      break;

    case 1690:
    case 1689:
      XVECEXP (pattern, 0, 1) = gen_hard_reg_clobber (XFmode, 8);
      XVECEXP (pattern, 0, 2) = gen_hard_reg_clobber (XFmode, 9);
      XVECEXP (pattern, 0, 3) = gen_hard_reg_clobber (XFmode, 10);
      XVECEXP (pattern, 0, 4) = gen_hard_reg_clobber (XFmode, 11);
      XVECEXP (pattern, 0, 5) = gen_hard_reg_clobber (XFmode, 12);
      XVECEXP (pattern, 0, 6) = gen_hard_reg_clobber (XFmode, 13);
      XVECEXP (pattern, 0, 7) = gen_hard_reg_clobber (XFmode, 14);
      XVECEXP (pattern, 0, 8) = gen_hard_reg_clobber (XFmode, 15);
      XVECEXP (pattern, 0, 9) = gen_hard_reg_clobber (DImode, 28);
      XVECEXP (pattern, 0, 10) = gen_hard_reg_clobber (DImode, 29);
      XVECEXP (pattern, 0, 11) = gen_hard_reg_clobber (DImode, 30);
      XVECEXP (pattern, 0, 12) = gen_hard_reg_clobber (DImode, 31);
      XVECEXP (pattern, 0, 13) = gen_hard_reg_clobber (DImode, 32);
      XVECEXP (pattern, 0, 14) = gen_hard_reg_clobber (DImode, 33);
      XVECEXP (pattern, 0, 15) = gen_hard_reg_clobber (DImode, 34);
      XVECEXP (pattern, 0, 16) = gen_hard_reg_clobber (DImode, 35);
      break;

    case 1308:
    case 1307:
      XVECEXP (pattern, 0, 1) = gen_hard_reg_clobber (XFmode, 8);
      XVECEXP (pattern, 0, 2) = gen_hard_reg_clobber (XFmode, 9);
      XVECEXP (pattern, 0, 3) = gen_hard_reg_clobber (XFmode, 10);
      XVECEXP (pattern, 0, 4) = gen_hard_reg_clobber (XFmode, 11);
      XVECEXP (pattern, 0, 5) = gen_hard_reg_clobber (XFmode, 12);
      XVECEXP (pattern, 0, 6) = gen_hard_reg_clobber (XFmode, 13);
      XVECEXP (pattern, 0, 7) = gen_hard_reg_clobber (XFmode, 14);
      XVECEXP (pattern, 0, 8) = gen_hard_reg_clobber (XFmode, 15);
      break;

    case 1054:
    case 1050:
    case 1046:
      XVECEXP (pattern, 0, 1) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode));
      XVECEXP (pattern, 0, 2) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode));
      XVECEXP (pattern, 0, 3) = gen_hard_reg_clobber (CCmode, 17);
      break;

    case 824:
    case 822:
      XVECEXP (pattern, 0, 1) = gen_hard_reg_clobber (CCmode, 17);
      XVECEXP (pattern, 0, 2) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (DImode));
      break;

    case 8831:
    case 8830:
    case 8829:
    case 8828:
    case 1268:
    case 1267:
    case 1266:
    case 1265:
    case 1264:
    case 1191:
    case 1190:
    case 1035:
    case 1033:
    case 1032:
    case 975:
    case 974:
    case 973:
    case 972:
    case 967:
    case 966:
    case 964:
    case 963:
    case 952:
    case 950:
    case 949:
    case 672:
    case 671:
    case 670:
    case 669:
    case 668:
    case 667:
    case 511:
    case 500:
    case 499:
    case 498:
    case 497:
    case 496:
    case 495:
    case 494:
    case 493:
    case 492:
    case 491:
    case 490:
    case 489:
    case 488:
    case 487:
      XVECEXP (pattern, 0, 2) = gen_hard_reg_clobber (CCmode, 17);
      break;

    case 510:
    case 509:
    case 508:
    case 507:
    case 506:
    case 505:
    case 504:
    case 503:
    case 502:
    case 501:
    case 486:
    case 485:
    case 484:
    case 483:
    case 482:
    case 481:
    case 480:
    case 479:
      XVECEXP (pattern, 0, 3) = gen_hard_reg_clobber (CCmode, 17);
      break;

    case 474:
    case 473:
    case 470:
    case 469:
      XVECEXP (pattern, 0, 1) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (DImode));
      XVECEXP (pattern, 0, 2) = gen_hard_reg_clobber (CCmode, 17);
      break;

    case 940:
    case 478:
    case 477:
    case 476:
    case 475:
    case 472:
    case 471:
    case 468:
    case 467:
      XVECEXP (pattern, 0, 1) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode));
      XVECEXP (pattern, 0, 2) = gen_hard_reg_clobber (CCmode, 17);
      break;

    case 455:
      XVECEXP (pattern, 0, 2) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode));
      break;

    case 454:
      XVECEXP (pattern, 0, 2) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (HImode));
      break;

    case 1270:
    case 1001:
    case 995:
    case 987:
    case 981:
    case 798:
    case 797:
    case 728:
    case 638:
    case 601:
    case 600:
    case 558:
    case 399:
    case 390:
    case 382:
    case 380:
    case 378:
    case 253:
    case 246:
    case 244:
      XVECEXP (pattern, 0, 1) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (DImode));
      break;

    case 1269:
    case 1000:
    case 994:
    case 986:
    case 980:
    case 796:
    case 795:
    case 727:
    case 637:
    case 599:
    case 598:
    case 557:
    case 398:
    case 389:
    case 381:
    case 379:
    case 377:
    case 252:
    case 249:
    case 243:
      XVECEXP (pattern, 0, 1) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode));
      break;

    case 8271:
    case 8270:
    case 8269:
    case 8268:
    case 8199:
    case 8198:
    case 8197:
    case 8196:
    case 8175:
    case 8174:
    case 8173:
    case 8172:
    case 794:
    case 793:
    case 726:
    case 636:
    case 597:
    case 596:
    case 397:
    case 388:
    case 251:
    case 248:
    case 242:
      XVECEXP (pattern, 0, 1) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (HImode));
      break;

    case 8315:
    case 8314:
    case 8313:
    case 8312:
    case 8311:
    case 8310:
    case 8309:
    case 8308:
    case 8307:
    case 8306:
    case 8305:
    case 8304:
    case 8303:
    case 8302:
    case 8301:
    case 8300:
    case 8299:
    case 8298:
    case 8297:
    case 8296:
    case 8295:
    case 8294:
    case 8293:
    case 8292:
    case 8291:
    case 8290:
    case 8289:
    case 8288:
    case 8287:
    case 8286:
    case 8285:
    case 8284:
    case 8283:
    case 8282:
    case 8281:
    case 8280:
    case 8279:
    case 8278:
    case 8277:
    case 8276:
    case 8275:
    case 8274:
    case 8273:
    case 8272:
    case 8267:
    case 8266:
    case 8265:
    case 8264:
    case 8263:
    case 8262:
    case 8261:
    case 8260:
    case 8259:
    case 8258:
    case 8257:
    case 8256:
    case 8255:
    case 8254:
    case 8253:
    case 8252:
    case 8251:
    case 8250:
    case 8249:
    case 8248:
    case 8247:
    case 8246:
    case 8245:
    case 8244:
    case 8243:
    case 8242:
    case 8241:
    case 8240:
    case 8239:
    case 8238:
    case 8237:
    case 8236:
    case 8235:
    case 8234:
    case 8233:
    case 8232:
    case 8231:
    case 8230:
    case 8229:
    case 8228:
    case 8227:
    case 8226:
    case 8225:
    case 8224:
    case 8223:
    case 8222:
    case 8221:
    case 8220:
    case 8219:
    case 8218:
    case 8217:
    case 8216:
    case 8215:
    case 8214:
    case 8213:
    case 8212:
    case 8211:
    case 8210:
    case 8209:
    case 8208:
    case 8207:
    case 8206:
    case 8205:
    case 8204:
    case 8203:
    case 8202:
    case 8201:
    case 8200:
    case 8195:
    case 8194:
    case 8193:
    case 8192:
    case 8191:
    case 8190:
    case 8189:
    case 8188:
    case 8187:
    case 8186:
    case 8185:
    case 8184:
    case 8183:
    case 8182:
    case 8181:
    case 8180:
    case 8179:
    case 8178:
    case 8177:
    case 8176:
    case 792:
    case 791:
    case 725:
    case 635:
    case 595:
    case 594:
    case 396:
    case 387:
    case 250:
    case 247:
    case 241:
      XVECEXP (pattern, 0, 1) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (QImode));
      break;

    case 456:
    case 224:
    case 223:
    case 222:
      XVECEXP (pattern, 0, 2) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (DImode));
      break;

    case 217:
    case 216:
    case 215:
      XVECEXP (pattern, 0, 2) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4SImode));
      XVECEXP (pattern, 0, 3) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4SImode));
      break;

    case 1148:
    case 1147:
    case 196:
      XVECEXP (pattern, 0, 3) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (XFmode));
      break;

    case 1130:
    case 1120:
    case 1119:
    case 1118:
    case 192:
    case 191:
    case 190:
      XVECEXP (pattern, 0, 1) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (XFmode));
      break;

    case 185:
      XVECEXP (pattern, 0, 2) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V2DFmode));
      XVECEXP (pattern, 0, 3) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V2DFmode));
      break;

    case 184:
      XVECEXP (pattern, 0, 2) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4SFmode));
      XVECEXP (pattern, 0, 3) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (V4SFmode));
      break;

    case 823:
    case 821:
    case 155:
      XVECEXP (pattern, 0, 1) = gen_hard_reg_clobber (CCmode, 17);
      XVECEXP (pattern, 0, 2) = gen_rtx_CLOBBER (VOIDmode,
	gen_rtx_SCRATCH (SImode));
      break;

    case 8859:
    case 8858:
    case 8857:
    case 8856:
    case 8855:
    case 8854:
    case 8853:
    case 8852:
    case 8851:
    case 8850:
    case 8849:
    case 8848:
    case 8847:
    case 8846:
    case 8845:
    case 8844:
    case 8843:
    case 8842:
    case 8841:
    case 8840:
    case 8811:
    case 8797:
    case 1623:
    case 1622:
    case 1621:
    case 1620:
    case 1619:
    case 1618:
    case 1617:
    case 1616:
    case 1615:
    case 1605:
    case 1604:
    case 1603:
    case 1559:
    case 1558:
    case 1557:
    case 1484:
    case 1483:
    case 1470:
    case 1258:
    case 1257:
    case 1254:
    case 1253:
    case 1252:
    case 1251:
    case 1246:
    case 1245:
    case 1244:
    case 1243:
    case 1242:
    case 1241:
    case 1240:
    case 1239:
    case 1238:
    case 1237:
    case 1236:
    case 1235:
    case 1234:
    case 1233:
    case 1232:
    case 1231:
    case 1230:
    case 1229:
    case 1228:
    case 1227:
    case 1226:
    case 1225:
    case 1224:
    case 1223:
    case 1199:
    case 1198:
    case 1197:
    case 1196:
    case 1195:
    case 1194:
    case 1193:
    case 1192:
    case 1146:
    case 1145:
    case 1144:
    case 1143:
    case 1142:
    case 1141:
    case 1136:
    case 1135:
    case 1134:
    case 1133:
    case 1069:
    case 1068:
    case 1067:
    case 1066:
    case 1063:
    case 1062:
    case 1060:
    case 1059:
    case 1058:
    case 1043:
    case 1037:
    case 1036:
    case 1034:
    case 1031:
    case 1030:
    case 1029:
    case 1028:
    case 1027:
    case 1026:
    case 1025:
    case 1024:
    case 1023:
    case 1022:
    case 1021:
    case 1020:
    case 1019:
    case 1018:
    case 1017:
    case 1016:
    case 1015:
    case 1014:
    case 1013:
    case 1012:
    case 1011:
    case 1010:
    case 1005:
    case 1004:
    case 1003:
    case 1002:
    case 999:
    case 998:
    case 997:
    case 996:
    case 991:
    case 990:
    case 989:
    case 988:
    case 983:
    case 982:
    case 979:
    case 978:
    case 977:
    case 976:
    case 971:
    case 970:
    case 969:
    case 968:
    case 965:
    case 962:
    case 961:
    case 960:
    case 959:
    case 958:
    case 957:
    case 955:
    case 954:
    case 951:
    case 948:
    case 947:
    case 932:
    case 931:
    case 883:
    case 882:
    case 880:
    case 879:
    case 878:
    case 877:
    case 876:
    case 875:
    case 874:
    case 873:
    case 872:
    case 871:
    case 870:
    case 869:
    case 866:
    case 865:
    case 864:
    case 863:
    case 862:
    case 861:
    case 860:
    case 859:
    case 858:
    case 857:
    case 856:
    case 855:
    case 854:
    case 853:
    case 852:
    case 851:
    case 850:
    case 849:
    case 848:
    case 847:
    case 846:
    case 845:
    case 844:
    case 843:
    case 842:
    case 841:
    case 840:
    case 839:
    case 838:
    case 837:
    case 836:
    case 835:
    case 834:
    case 833:
    case 832:
    case 830:
    case 829:
    case 828:
    case 827:
    case 820:
    case 819:
    case 818:
    case 817:
    case 816:
    case 815:
    case 814:
    case 813:
    case 812:
    case 811:
    case 810:
    case 809:
    case 808:
    case 807:
    case 806:
    case 805:
    case 804:
    case 803:
    case 802:
    case 801:
    case 800:
    case 799:
    case 780:
    case 779:
    case 778:
    case 777:
    case 776:
    case 775:
    case 774:
    case 773:
    case 772:
    case 771:
    case 768:
    case 767:
    case 766:
    case 765:
    case 760:
    case 759:
    case 758:
    case 757:
    case 756:
    case 755:
    case 754:
    case 753:
    case 752:
    case 751:
    case 750:
    case 749:
    case 748:
    case 747:
    case 746:
    case 745:
    case 744:
    case 743:
    case 742:
    case 741:
    case 740:
    case 739:
    case 738:
    case 737:
    case 736:
    case 735:
    case 734:
    case 733:
    case 732:
    case 731:
    case 730:
    case 729:
    case 719:
    case 718:
    case 717:
    case 716:
    case 715:
    case 713:
    case 712:
    case 709:
    case 708:
    case 707:
    case 706:
    case 705:
    case 704:
    case 703:
    case 702:
    case 701:
    case 700:
    case 699:
    case 698:
    case 697:
    case 696:
    case 695:
    case 694:
    case 666:
    case 665:
    case 664:
    case 663:
    case 662:
    case 661:
    case 657:
    case 656:
    case 655:
    case 654:
    case 653:
    case 652:
    case 651:
    case 650:
    case 649:
    case 648:
    case 647:
    case 646:
    case 641:
    case 640:
    case 639:
    case 625:
    case 624:
    case 623:
    case 622:
    case 621:
    case 620:
    case 619:
    case 618:
    case 617:
    case 613:
    case 612:
    case 611:
    case 610:
    case 609:
    case 608:
    case 607:
    case 606:
    case 605:
    case 604:
    case 603:
    case 602:
    case 581:
    case 580:
    case 579:
    case 578:
    case 577:
    case 576:
    case 575:
    case 574:
    case 573:
    case 572:
    case 571:
    case 570:
    case 569:
    case 568:
    case 567:
    case 566:
    case 565:
    case 564:
    case 563:
    case 562:
    case 561:
    case 560:
    case 559:
    case 556:
    case 555:
    case 554:
    case 553:
    case 552:
    case 551:
    case 550:
    case 549:
    case 545:
    case 544:
    case 543:
    case 536:
    case 535:
    case 534:
    case 533:
    case 532:
    case 531:
    case 530:
    case 529:
    case 528:
    case 513:
    case 512:
    case 466:
    case 465:
    case 464:
    case 463:
    case 462:
    case 461:
    case 447:
    case 446:
    case 445:
    case 444:
    case 443:
    case 442:
    case 441:
    case 440:
    case 439:
    case 438:
    case 437:
    case 436:
    case 435:
    case 434:
    case 433:
    case 432:
    case 431:
    case 430:
    case 429:
    case 428:
    case 427:
    case 426:
    case 425:
    case 424:
    case 423:
    case 422:
    case 421:
    case 420:
    case 419:
    case 418:
    case 417:
    case 416:
    case 415:
    case 414:
    case 413:
    case 412:
    case 411:
    case 410:
    case 409:
    case 408:
    case 407:
    case 376:
    case 375:
    case 374:
    case 373:
    case 372:
    case 371:
    case 370:
    case 369:
    case 368:
    case 367:
    case 366:
    case 365:
    case 364:
    case 363:
    case 362:
    case 357:
    case 356:
    case 355:
    case 354:
    case 353:
    case 352:
    case 351:
    case 350:
    case 349:
    case 348:
    case 347:
    case 346:
    case 345:
    case 344:
    case 343:
    case 341:
    case 340:
    case 339:
    case 314:
    case 313:
    case 312:
    case 306:
    case 305:
    case 304:
    case 303:
    case 302:
    case 301:
    case 300:
    case 299:
    case 298:
    case 259:
    case 258:
    case 257:
    case 256:
    case 255:
    case 254:
    case 235:
    case 234:
    case 233:
    case 232:
    case 231:
    case 230:
    case 229:
    case 228:
    case 227:
    case 195:
    case 194:
    case 193:
    case 152:
    case 149:
    case 148:
    case 99:
    case 98:
    case 76:
    case 75:
    case 74:
    case 73:
    case 72:
    case 71:
    case 70:
    case 69:
      XVECEXP (pattern, 0, 1) = gen_hard_reg_clobber (CCmode, 17);
      break;

    default:
      gcc_unreachable ();
    }
}


int
added_clobbers_hard_reg_p (int insn_code_number)
{
  switch (insn_code_number)
    {
    case 8817:
    case 8812:
    case 8171:
    case 8170:
    case 8167:
    case 8166:
    case 8163:
    case 8155:
    case 8147:
    case 8139:
    case 8131:
    case 8123:
    case 8115:
    case 8107:
    case 8169:
    case 8168:
    case 8165:
    case 8164:
    case 8162:
    case 8154:
    case 8146:
    case 8138:
    case 8130:
    case 8122:
    case 8114:
    case 8106:
    case 8159:
    case 8151:
    case 8143:
    case 8135:
    case 8127:
    case 8119:
    case 8111:
    case 8103:
    case 8158:
    case 8150:
    case 8142:
    case 8134:
    case 8126:
    case 8118:
    case 8110:
    case 8102:
    case 8157:
    case 8149:
    case 8141:
    case 8133:
    case 8125:
    case 8117:
    case 8109:
    case 8101:
    case 8156:
    case 8148:
    case 8140:
    case 8132:
    case 8124:
    case 8116:
    case 8108:
    case 8100:
    case 7445:
    case 7441:
    case 8161:
    case 8153:
    case 8145:
    case 8137:
    case 8129:
    case 8121:
    case 8113:
    case 8105:
    case 3786:
    case 8160:
    case 8152:
    case 8144:
    case 8136:
    case 8128:
    case 8120:
    case 8112:
    case 8104:
    case 7139:
    case 1810:
    case 455:
    case 454:
    case 1270:
    case 1001:
    case 995:
    case 987:
    case 981:
    case 798:
    case 797:
    case 728:
    case 638:
    case 601:
    case 600:
    case 558:
    case 399:
    case 390:
    case 382:
    case 380:
    case 378:
    case 253:
    case 246:
    case 244:
    case 1269:
    case 1000:
    case 994:
    case 986:
    case 980:
    case 796:
    case 795:
    case 727:
    case 637:
    case 599:
    case 598:
    case 557:
    case 398:
    case 389:
    case 381:
    case 379:
    case 377:
    case 252:
    case 249:
    case 243:
    case 8271:
    case 8270:
    case 8269:
    case 8268:
    case 8199:
    case 8198:
    case 8197:
    case 8196:
    case 8175:
    case 8174:
    case 8173:
    case 8172:
    case 794:
    case 793:
    case 726:
    case 636:
    case 597:
    case 596:
    case 397:
    case 388:
    case 251:
    case 248:
    case 242:
    case 8315:
    case 8314:
    case 8313:
    case 8312:
    case 8311:
    case 8310:
    case 8309:
    case 8308:
    case 8307:
    case 8306:
    case 8305:
    case 8304:
    case 8303:
    case 8302:
    case 8301:
    case 8300:
    case 8299:
    case 8298:
    case 8297:
    case 8296:
    case 8295:
    case 8294:
    case 8293:
    case 8292:
    case 8291:
    case 8290:
    case 8289:
    case 8288:
    case 8287:
    case 8286:
    case 8285:
    case 8284:
    case 8283:
    case 8282:
    case 8281:
    case 8280:
    case 8279:
    case 8278:
    case 8277:
    case 8276:
    case 8275:
    case 8274:
    case 8273:
    case 8272:
    case 8267:
    case 8266:
    case 8265:
    case 8264:
    case 8263:
    case 8262:
    case 8261:
    case 8260:
    case 8259:
    case 8258:
    case 8257:
    case 8256:
    case 8255:
    case 8254:
    case 8253:
    case 8252:
    case 8251:
    case 8250:
    case 8249:
    case 8248:
    case 8247:
    case 8246:
    case 8245:
    case 8244:
    case 8243:
    case 8242:
    case 8241:
    case 8240:
    case 8239:
    case 8238:
    case 8237:
    case 8236:
    case 8235:
    case 8234:
    case 8233:
    case 8232:
    case 8231:
    case 8230:
    case 8229:
    case 8228:
    case 8227:
    case 8226:
    case 8225:
    case 8224:
    case 8223:
    case 8222:
    case 8221:
    case 8220:
    case 8219:
    case 8218:
    case 8217:
    case 8216:
    case 8215:
    case 8214:
    case 8213:
    case 8212:
    case 8211:
    case 8210:
    case 8209:
    case 8208:
    case 8207:
    case 8206:
    case 8205:
    case 8204:
    case 8203:
    case 8202:
    case 8201:
    case 8200:
    case 8195:
    case 8194:
    case 8193:
    case 8192:
    case 8191:
    case 8190:
    case 8189:
    case 8188:
    case 8187:
    case 8186:
    case 8185:
    case 8184:
    case 8183:
    case 8182:
    case 8181:
    case 8180:
    case 8179:
    case 8178:
    case 8177:
    case 8176:
    case 792:
    case 791:
    case 725:
    case 635:
    case 595:
    case 594:
    case 396:
    case 387:
    case 250:
    case 247:
    case 241:
    case 456:
    case 224:
    case 223:
    case 222:
    case 217:
    case 216:
    case 215:
    case 1148:
    case 1147:
    case 196:
    case 1130:
    case 1120:
    case 1119:
    case 1118:
    case 192:
    case 191:
    case 190:
    case 185:
    case 184:
      return 0;

    case 1690:
    case 1689:
    case 1308:
    case 1307:
    case 1054:
    case 1050:
    case 1046:
    case 824:
    case 822:
    case 8831:
    case 8830:
    case 8829:
    case 8828:
    case 1268:
    case 1267:
    case 1266:
    case 1265:
    case 1264:
    case 1191:
    case 1190:
    case 1035:
    case 1033:
    case 1032:
    case 975:
    case 974:
    case 973:
    case 972:
    case 967:
    case 966:
    case 964:
    case 963:
    case 952:
    case 950:
    case 949:
    case 672:
    case 671:
    case 670:
    case 669:
    case 668:
    case 667:
    case 511:
    case 500:
    case 499:
    case 498:
    case 497:
    case 496:
    case 495:
    case 494:
    case 493:
    case 492:
    case 491:
    case 490:
    case 489:
    case 488:
    case 487:
    case 510:
    case 509:
    case 508:
    case 507:
    case 506:
    case 505:
    case 504:
    case 503:
    case 502:
    case 501:
    case 486:
    case 485:
    case 484:
    case 483:
    case 482:
    case 481:
    case 480:
    case 479:
    case 474:
    case 473:
    case 470:
    case 469:
    case 940:
    case 478:
    case 477:
    case 476:
    case 475:
    case 472:
    case 471:
    case 468:
    case 467:
    case 823:
    case 821:
    case 155:
    case 8859:
    case 8858:
    case 8857:
    case 8856:
    case 8855:
    case 8854:
    case 8853:
    case 8852:
    case 8851:
    case 8850:
    case 8849:
    case 8848:
    case 8847:
    case 8846:
    case 8845:
    case 8844:
    case 8843:
    case 8842:
    case 8841:
    case 8840:
    case 8811:
    case 8797:
    case 1623:
    case 1622:
    case 1621:
    case 1620:
    case 1619:
    case 1618:
    case 1617:
    case 1616:
    case 1615:
    case 1605:
    case 1604:
    case 1603:
    case 1559:
    case 1558:
    case 1557:
    case 1484:
    case 1483:
    case 1470:
    case 1258:
    case 1257:
    case 1254:
    case 1253:
    case 1252:
    case 1251:
    case 1246:
    case 1245:
    case 1244:
    case 1243:
    case 1242:
    case 1241:
    case 1240:
    case 1239:
    case 1238:
    case 1237:
    case 1236:
    case 1235:
    case 1234:
    case 1233:
    case 1232:
    case 1231:
    case 1230:
    case 1229:
    case 1228:
    case 1227:
    case 1226:
    case 1225:
    case 1224:
    case 1223:
    case 1199:
    case 1198:
    case 1197:
    case 1196:
    case 1195:
    case 1194:
    case 1193:
    case 1192:
    case 1146:
    case 1145:
    case 1144:
    case 1143:
    case 1142:
    case 1141:
    case 1136:
    case 1135:
    case 1134:
    case 1133:
    case 1069:
    case 1068:
    case 1067:
    case 1066:
    case 1063:
    case 1062:
    case 1060:
    case 1059:
    case 1058:
    case 1043:
    case 1037:
    case 1036:
    case 1034:
    case 1031:
    case 1030:
    case 1029:
    case 1028:
    case 1027:
    case 1026:
    case 1025:
    case 1024:
    case 1023:
    case 1022:
    case 1021:
    case 1020:
    case 1019:
    case 1018:
    case 1017:
    case 1016:
    case 1015:
    case 1014:
    case 1013:
    case 1012:
    case 1011:
    case 1010:
    case 1005:
    case 1004:
    case 1003:
    case 1002:
    case 999:
    case 998:
    case 997:
    case 996:
    case 991:
    case 990:
    case 989:
    case 988:
    case 983:
    case 982:
    case 979:
    case 978:
    case 977:
    case 976:
    case 971:
    case 970:
    case 969:
    case 968:
    case 965:
    case 962:
    case 961:
    case 960:
    case 959:
    case 958:
    case 957:
    case 955:
    case 954:
    case 951:
    case 948:
    case 947:
    case 932:
    case 931:
    case 883:
    case 882:
    case 880:
    case 879:
    case 878:
    case 877:
    case 876:
    case 875:
    case 874:
    case 873:
    case 872:
    case 871:
    case 870:
    case 869:
    case 866:
    case 865:
    case 864:
    case 863:
    case 862:
    case 861:
    case 860:
    case 859:
    case 858:
    case 857:
    case 856:
    case 855:
    case 854:
    case 853:
    case 852:
    case 851:
    case 850:
    case 849:
    case 848:
    case 847:
    case 846:
    case 845:
    case 844:
    case 843:
    case 842:
    case 841:
    case 840:
    case 839:
    case 838:
    case 837:
    case 836:
    case 835:
    case 834:
    case 833:
    case 832:
    case 830:
    case 829:
    case 828:
    case 827:
    case 820:
    case 819:
    case 818:
    case 817:
    case 816:
    case 815:
    case 814:
    case 813:
    case 812:
    case 811:
    case 810:
    case 809:
    case 808:
    case 807:
    case 806:
    case 805:
    case 804:
    case 803:
    case 802:
    case 801:
    case 800:
    case 799:
    case 780:
    case 779:
    case 778:
    case 777:
    case 776:
    case 775:
    case 774:
    case 773:
    case 772:
    case 771:
    case 768:
    case 767:
    case 766:
    case 765:
    case 760:
    case 759:
    case 758:
    case 757:
    case 756:
    case 755:
    case 754:
    case 753:
    case 752:
    case 751:
    case 750:
    case 749:
    case 748:
    case 747:
    case 746:
    case 745:
    case 744:
    case 743:
    case 742:
    case 741:
    case 740:
    case 739:
    case 738:
    case 737:
    case 736:
    case 735:
    case 734:
    case 733:
    case 732:
    case 731:
    case 730:
    case 729:
    case 719:
    case 718:
    case 717:
    case 716:
    case 715:
    case 713:
    case 712:
    case 709:
    case 708:
    case 707:
    case 706:
    case 705:
    case 704:
    case 703:
    case 702:
    case 701:
    case 700:
    case 699:
    case 698:
    case 697:
    case 696:
    case 695:
    case 694:
    case 666:
    case 665:
    case 664:
    case 663:
    case 662:
    case 661:
    case 657:
    case 656:
    case 655:
    case 654:
    case 653:
    case 652:
    case 651:
    case 650:
    case 649:
    case 648:
    case 647:
    case 646:
    case 641:
    case 640:
    case 639:
    case 625:
    case 624:
    case 623:
    case 622:
    case 621:
    case 620:
    case 619:
    case 618:
    case 617:
    case 613:
    case 612:
    case 611:
    case 610:
    case 609:
    case 608:
    case 607:
    case 606:
    case 605:
    case 604:
    case 603:
    case 602:
    case 581:
    case 580:
    case 579:
    case 578:
    case 577:
    case 576:
    case 575:
    case 574:
    case 573:
    case 572:
    case 571:
    case 570:
    case 569:
    case 568:
    case 567:
    case 566:
    case 565:
    case 564:
    case 563:
    case 562:
    case 561:
    case 560:
    case 559:
    case 556:
    case 555:
    case 554:
    case 553:
    case 552:
    case 551:
    case 550:
    case 549:
    case 545:
    case 544:
    case 543:
    case 536:
    case 535:
    case 534:
    case 533:
    case 532:
    case 531:
    case 530:
    case 529:
    case 528:
    case 513:
    case 512:
    case 466:
    case 465:
    case 464:
    case 463:
    case 462:
    case 461:
    case 447:
    case 446:
    case 445:
    case 444:
    case 443:
    case 442:
    case 441:
    case 440:
    case 439:
    case 438:
    case 437:
    case 436:
    case 435:
    case 434:
    case 433:
    case 432:
    case 431:
    case 430:
    case 429:
    case 428:
    case 427:
    case 426:
    case 425:
    case 424:
    case 423:
    case 422:
    case 421:
    case 420:
    case 419:
    case 418:
    case 417:
    case 416:
    case 415:
    case 414:
    case 413:
    case 412:
    case 411:
    case 410:
    case 409:
    case 408:
    case 407:
    case 376:
    case 375:
    case 374:
    case 373:
    case 372:
    case 371:
    case 370:
    case 369:
    case 368:
    case 367:
    case 366:
    case 365:
    case 364:
    case 363:
    case 362:
    case 357:
    case 356:
    case 355:
    case 354:
    case 353:
    case 352:
    case 351:
    case 350:
    case 349:
    case 348:
    case 347:
    case 346:
    case 345:
    case 344:
    case 343:
    case 341:
    case 340:
    case 339:
    case 314:
    case 313:
    case 312:
    case 306:
    case 305:
    case 304:
    case 303:
    case 302:
    case 301:
    case 300:
    case 299:
    case 298:
    case 259:
    case 258:
    case 257:
    case 256:
    case 255:
    case 254:
    case 235:
    case 234:
    case 233:
    case 232:
    case 231:
    case 230:
    case 229:
    case 228:
    case 227:
    case 195:
    case 194:
    case 193:
    case 152:
    case 149:
    case 148:
    case 99:
    case 98:
    case 76:
    case 75:
    case 74:
    case 73:
    case 72:
    case 71:
    case 70:
    case 69:
      return 1;

    default:
      gcc_unreachable ();
    }
}

insn_code
maybe_code_for_cmp_1 (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_cmpsi_1;
  if (arg0 == E_DImode)
    return CODE_FOR_cmpdi_1;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_cmp_1 (machine_mode arg0, rtx x0, rtx x1)
{
  insn_code code = maybe_code_for_cmp_1 (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 2);
      return GEN_FCN (code) (x0, x1);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_insv_1 (machine_mode arg0)
{
  if (arg0 == E_HImode)
    return CODE_FOR_insvhi_1;
  if (arg0 == E_SImode)
    return CODE_FOR_insvsi_1;
  if (arg0 == E_DImode)
    return CODE_FOR_insvdi_1;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_insv_1 (machine_mode arg0, rtx x0, rtx x1)
{
  insn_code code = maybe_code_for_insv_1 (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 2);
      return GEN_FCN (code) (x0, x1);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_add3_carry (machine_mode arg0)
{
  if (arg0 == E_QImode)
    return CODE_FOR_addqi3_carry;
  if (arg0 == E_HImode)
    return CODE_FOR_addhi3_carry;
  if (arg0 == E_SImode)
    return CODE_FOR_addsi3_carry;
  if (arg0 == E_DImode)
    return CODE_FOR_adddi3_carry;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_add3_carry (machine_mode arg0, rtx x0, rtx x1, rtx x2, rtx x3, rtx x4)
{
  insn_code code = maybe_code_for_add3_carry (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 5);
      return GEN_FCN (code) (x0, x1, x2, x3, x4);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_sub3_carry (machine_mode arg0)
{
  if (arg0 == E_QImode)
    return CODE_FOR_subqi3_carry;
  if (arg0 == E_HImode)
    return CODE_FOR_subhi3_carry;
  if (arg0 == E_SImode)
    return CODE_FOR_subsi3_carry;
  if (arg0 == E_DImode)
    return CODE_FOR_subdi3_carry;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_sub3_carry (machine_mode arg0, rtx x0, rtx x1, rtx x2, rtx x3, rtx x4)
{
  insn_code code = maybe_code_for_sub3_carry (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 5);
      return GEN_FCN (code) (x0, x1, x2, x3, x4);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_sub3_carry_ccc (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_subsi3_carry_ccc;
  if (arg0 == E_DImode)
    return CODE_FOR_subdi3_carry_ccc;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_sub3_carry_ccc (machine_mode arg0, rtx x0, rtx x1, rtx x2)
{
  insn_code code = maybe_code_for_sub3_carry_ccc (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 3);
      return GEN_FCN (code) (x0, x1, x2);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_sub3_carry_ccgz (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_subsi3_carry_ccgz;
  if (arg0 == E_DImode)
    return CODE_FOR_subdi3_carry_ccgz;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_sub3_carry_ccgz (machine_mode arg0, rtx x0, rtx x1, rtx x2)
{
  insn_code code = maybe_code_for_sub3_carry_ccgz (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 3);
      return GEN_FCN (code) (x0, x1, x2);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_test_ccno_1 (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_testsi_ccno_1;
  if (arg0 == E_DImode)
    return CODE_FOR_testdi_ccno_1;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_test_ccno_1 (machine_mode arg0, rtx x0, rtx x1)
{
  insn_code code = maybe_code_for_test_ccno_1 (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 2);
      return GEN_FCN (code) (x0, x1);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_x86_shift_adj_1 (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_x86_shiftsi_adj_1;
  if (arg0 == E_DImode)
    return CODE_FOR_x86_shiftdi_adj_1;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_x86_shift_adj_1 (machine_mode arg0, rtx x0, rtx x1, rtx x2, rtx x3)
{
  insn_code code = maybe_code_for_x86_shift_adj_1 (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 4);
      return GEN_FCN (code) (x0, x1, x2, x3);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_x86_shift_adj_2 (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_x86_shiftsi_adj_2;
  if (arg0 == E_DImode)
    return CODE_FOR_x86_shiftdi_adj_2;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_x86_shift_adj_2 (machine_mode arg0, rtx x0, rtx x1, rtx x2)
{
  insn_code code = maybe_code_for_x86_shift_adj_2 (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 3);
      return GEN_FCN (code) (x0, x1, x2);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_x86_shift_adj_3 (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_x86_shiftsi_adj_3;
  if (arg0 == E_DImode)
    return CODE_FOR_x86_shiftdi_adj_3;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_x86_shift_adj_3 (machine_mode arg0, rtx x0, rtx x1, rtx x2)
{
  insn_code code = maybe_code_for_x86_shift_adj_3 (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 3);
      return GEN_FCN (code) (x0, x1, x2);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_leave (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_leave_si;
  if (arg0 == E_DImode)
    return CODE_FOR_leave_di;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_leave (machine_mode arg0)
{
  insn_code code = maybe_code_for_leave (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 0);
      return GEN_FCN (code) ();
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_tbm_bextri (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_tbm_bextri_si;
  if (arg0 == E_DImode)
    return CODE_FOR_tbm_bextri_di;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_tbm_bextri (machine_mode arg0, rtx x0, rtx x1, rtx x2, rtx x3)
{
  insn_code code = maybe_code_for_tbm_bextri (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 4);
      return GEN_FCN (code) (x0, x1, x2, x3);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_tls_global_dynamic_64 (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_tls_global_dynamic_64_si;
  if (arg0 == E_DImode)
    return CODE_FOR_tls_global_dynamic_64_di;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_tls_global_dynamic_64 (machine_mode arg0, rtx x0, rtx x1, rtx x2)
{
  insn_code code = maybe_code_for_tls_global_dynamic_64 (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 3);
      return GEN_FCN (code) (x0, x1, x2);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_tls_local_dynamic_base_64 (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_tls_local_dynamic_base_64_si;
  if (arg0 == E_DImode)
    return CODE_FOR_tls_local_dynamic_base_64_di;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_tls_local_dynamic_base_64 (machine_mode arg0, rtx x0, rtx x1)
{
  insn_code code = maybe_code_for_tls_local_dynamic_base_64 (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 2);
      return GEN_FCN (code) (x0, x1);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_tls_dynamic_gnu2_64 (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_tls_dynamic_gnu2_64_si;
  if (arg0 == E_DImode)
    return CODE_FOR_tls_dynamic_gnu2_64_di;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_tls_dynamic_gnu2_64 (machine_mode arg0, rtx x0, rtx x1)
{
  insn_code code = maybe_code_for_tls_dynamic_gnu2_64 (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 2);
      return GEN_FCN (code) (x0, x1);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_pro_epilogue_adjust_stack_add (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_pro_epilogue_adjust_stack_add_si;
  if (arg0 == E_DImode)
    return CODE_FOR_pro_epilogue_adjust_stack_add_di;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_pro_epilogue_adjust_stack_add (machine_mode arg0, rtx x0, rtx x1, rtx x2)
{
  insn_code code = maybe_code_for_pro_epilogue_adjust_stack_add (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 3);
      return GEN_FCN (code) (x0, x1, x2);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_pro_epilogue_adjust_stack_sub (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_pro_epilogue_adjust_stack_sub_si;
  if (arg0 == E_DImode)
    return CODE_FOR_pro_epilogue_adjust_stack_sub_di;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_pro_epilogue_adjust_stack_sub (machine_mode arg0, rtx x0, rtx x1, rtx x2)
{
  insn_code code = maybe_code_for_pro_epilogue_adjust_stack_sub (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 3);
      return GEN_FCN (code) (x0, x1, x2);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_allocate_stack_worker_probe (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_allocate_stack_worker_probe_si;
  if (arg0 == E_DImode)
    return CODE_FOR_allocate_stack_worker_probe_di;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_allocate_stack_worker_probe (machine_mode arg0, rtx x0, rtx x1)
{
  insn_code code = maybe_code_for_allocate_stack_worker_probe (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 2);
      return GEN_FCN (code) (x0, x1);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_probe_stack_1 (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_probe_stack_1_si;
  if (arg0 == E_DImode)
    return CODE_FOR_probe_stack_1_di;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_probe_stack_1 (machine_mode arg0, rtx x0, rtx x1)
{
  insn_code code = maybe_code_for_probe_stack_1 (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 2);
      return GEN_FCN (code) (x0, x1);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_adjust_stack_and_probe (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_adjust_stack_and_probe_si;
  if (arg0 == E_DImode)
    return CODE_FOR_adjust_stack_and_probe_di;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_adjust_stack_and_probe (machine_mode arg0, rtx x0, rtx x1, rtx x2)
{
  insn_code code = maybe_code_for_adjust_stack_and_probe (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 3);
      return GEN_FCN (code) (x0, x1, x2);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_probe_stack_range (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_probe_stack_range_si;
  if (arg0 == E_DImode)
    return CODE_FOR_probe_stack_range_di;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_probe_stack_range (machine_mode arg0, rtx x0, rtx x1, rtx x2)
{
  insn_code code = maybe_code_for_probe_stack_range (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 3);
      return GEN_FCN (code) (x0, x1, x2);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_stack_protect_set_1 (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_stack_protect_set_1_si;
  if (arg0 == E_DImode)
    return CODE_FOR_stack_protect_set_1_di;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_stack_protect_set_1 (machine_mode arg0, rtx x0, rtx x1)
{
  insn_code code = maybe_code_for_stack_protect_set_1 (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 2);
      return GEN_FCN (code) (x0, x1);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_stack_protect_test_1 (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_stack_protect_test_1_si;
  if (arg0 == E_DImode)
    return CODE_FOR_stack_protect_test_1_di;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_stack_protect_test_1 (machine_mode arg0, rtx x0, rtx x1, rtx x2)
{
  insn_code code = maybe_code_for_stack_protect_test_1 (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 3);
      return GEN_FCN (code) (x0, x1, x2);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_lwp_llwpcb (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_lwp_llwpcbsi;
  if (arg0 == E_DImode)
    return CODE_FOR_lwp_llwpcbdi;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_lwp_llwpcb (machine_mode arg0, rtx x0)
{
  insn_code code = maybe_code_for_lwp_llwpcb (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 1);
      return GEN_FCN (code) (x0);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_lwp_slwpcb (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_lwp_slwpcbsi;
  if (arg0 == E_DImode)
    return CODE_FOR_lwp_slwpcbdi;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_lwp_slwpcb (machine_mode arg0, rtx x0)
{
  insn_code code = maybe_code_for_lwp_slwpcb (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 1);
      return GEN_FCN (code) (x0);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_lwp_lwpval (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_lwp_lwpvalsi;
  if (arg0 == E_DImode)
    return CODE_FOR_lwp_lwpvaldi;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_lwp_lwpval (machine_mode arg0, rtx x0, rtx x1, rtx x2)
{
  insn_code code = maybe_code_for_lwp_lwpval (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 3);
      return GEN_FCN (code) (x0, x1, x2);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_lwp_lwpins (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_lwp_lwpinssi;
  if (arg0 == E_DImode)
    return CODE_FOR_lwp_lwpinsdi;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_lwp_lwpins (machine_mode arg0, rtx x0, rtx x1, rtx x2)
{
  insn_code code = maybe_code_for_lwp_lwpins (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 3);
      return GEN_FCN (code) (x0, x1, x2);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_rdrand (machine_mode arg0)
{
  if (arg0 == E_HImode)
    return CODE_FOR_rdrandhi;
  if (arg0 == E_SImode)
    return CODE_FOR_rdrandsi;
  if (arg0 == E_DImode)
    return CODE_FOR_rdranddi;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_rdrand (machine_mode arg0, rtx x0)
{
  insn_code code = maybe_code_for_rdrand (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 1);
      return GEN_FCN (code) (x0);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_rdseed (machine_mode arg0)
{
  if (arg0 == E_HImode)
    return CODE_FOR_rdseedhi;
  if (arg0 == E_SImode)
    return CODE_FOR_rdseedsi;
  if (arg0 == E_DImode)
    return CODE_FOR_rdseeddi;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_rdseed (machine_mode arg0, rtx x0)
{
  insn_code code = maybe_code_for_rdseed (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 1);
      return GEN_FCN (code) (x0);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_rdssp (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_rdsspsi;
  if (arg0 == E_DImode)
    return CODE_FOR_rdsspdi;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_rdssp (machine_mode arg0, rtx x0, rtx x1)
{
  insn_code code = maybe_code_for_rdssp (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 2);
      return GEN_FCN (code) (x0, x1);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_incssp (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_incsspsi;
  if (arg0 == E_DImode)
    return CODE_FOR_incsspdi;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_incssp (machine_mode arg0, rtx x0)
{
  insn_code code = maybe_code_for_incssp (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 1);
      return GEN_FCN (code) (x0);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_wrss (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_wrsssi;
  if (arg0 == E_DImode)
    return CODE_FOR_wrssdi;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_wrss (machine_mode arg0, rtx x0, rtx x1)
{
  insn_code code = maybe_code_for_wrss (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 2);
      return GEN_FCN (code) (x0, x1);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_wruss (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_wrusssi;
  if (arg0 == E_DImode)
    return CODE_FOR_wrussdi;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_wruss (machine_mode arg0, rtx x0, rtx x1)
{
  insn_code code = maybe_code_for_wruss (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 2);
      return GEN_FCN (code) (x0, x1);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_monitorx (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_monitorx_si;
  if (arg0 == E_DImode)
    return CODE_FOR_monitorx_di;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_monitorx (machine_mode arg0, rtx x0, rtx x1, rtx x2)
{
  insn_code code = maybe_code_for_monitorx (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 3);
      return GEN_FCN (code) (x0, x1, x2);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_clzero (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_clzero_si;
  if (arg0 == E_DImode)
    return CODE_FOR_clzero_di;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_clzero (machine_mode arg0, rtx x0)
{
  insn_code code = maybe_code_for_clzero (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 1);
      return GEN_FCN (code) (x0);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_movdir64b (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_movdir64b_si;
  if (arg0 == E_DImode)
    return CODE_FOR_movdir64b_di;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_movdir64b (machine_mode arg0, rtx x0, rtx x1)
{
  insn_code code = maybe_code_for_movdir64b (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 2);
      return GEN_FCN (code) (x0, x1);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_enqcmd (int arg0, machine_mode arg1)
{
  if (arg0 == 79
      && arg1 == E_SImode)
    return CODE_FOR_enqcmd_si;
  if (arg0 == 80
      && arg1 == E_SImode)
    return CODE_FOR_enqcmds_si;
  if (arg0 == 79
      && arg1 == E_DImode)
    return CODE_FOR_enqcmd_di;
  if (arg0 == 80
      && arg1 == E_DImode)
    return CODE_FOR_enqcmds_di;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_enqcmd (int arg0, machine_mode arg1, rtx x0, rtx x1)
{
  insn_code code = maybe_code_for_enqcmd (arg0, arg1);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 2);
      return GEN_FCN (code) (x0, x1);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_umonitor (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_umonitor_si;
  if (arg0 == E_DImode)
    return CODE_FOR_umonitor_di;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_umonitor (machine_mode arg0, rtx x0)
{
  insn_code code = maybe_code_for_umonitor (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 1);
      return GEN_FCN (code) (x0);
    }
  else
    return NULL_RTX;
}

insn_code
maybe_code_for_sse3_monitor (machine_mode arg0)
{
  if (arg0 == E_SImode)
    return CODE_FOR_sse3_monitor_si;
  if (arg0 == E_DImode)
    return CODE_FOR_sse3_monitor_di;
  return CODE_FOR_nothing;
}

rtx
maybe_gen_sse3_monitor (machine_mode arg0, rtx x0, rtx x1, rtx x2)
{
  insn_code code = maybe_code_for_sse3_monitor (arg0);
  if (code != CODE_FOR_nothing)
    {
      gcc_assert (insn_data[code].n_generator_args == 3);
      return GEN_FCN (code) (x0, x1, x2);
    }
  else
    return NULL_RTX;
}
